-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
86 lines (77 loc) · 4.22 KB
/
Copy path.env.example
File metadata and controls
86 lines (77 loc) · 4.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# 服务基础配置(可选;生产通知链接正确性依赖 BASE_URL)
# Nuxt/Nitro 监听端口。Docker Compose 默认把宿主机 8080 映射到容器内 3000。
PORT=3000
# 应用对外访问地址,用于邮件、通知正文和回调链接生成。
BASE_URL=http://localhost:3000
# 密钥与敏感信息存储(生产必填)
# 用于加密数据库中保存的 SMTP 密码、Webhook Header、ServerChan SendKey、Push 订阅等敏感字段。
# 生产环境必须设置为稳定随机值,升级、重启、迁移都要保持不变;丢失后已加密的旧密钥无法解密。
# 生成示例:openssl rand -base64 32
SECRET_ENCRYPTION_KEY=
# 网络与反向代理(条件必填/条件开启)
# 只有当应用部署在可信反向代理后面,并且代理会正确覆盖 X-Forwarded-For / X-Real-IP 时才设为 true。
# 影响审计日志客户端 IP 和 API 限流的客户端识别。
TRUST_PROXY_HEADERS=false
# Webhook 默认禁止请求内网、回环、保留地址,防止 SSRF。
# 只有明确要把 Webhook 投递到可信内网服务时才设为 true。
ALLOW_PRIVATE_WEBHOOK_TARGETS=false
# 域名默认必须包含点号,例如 example.com。
# 如果需要监控 localhost、intranet 这类内部单标签主机名,才设为 true。
ALLOW_SINGLE_LABEL_DOMAINS=false
# 访问控制(暴露到非可信网络时必须配置 Basic Auth 或 Bearer Token)
# 自托管内网使用时可以留空;只要暴露到非可信网络,必须配置 Basic Auth 或 Bearer Token。
# Basic Auth 用户名。
BASIC_AUTH_USERNAME=
# Basic Auth 密码。
BASIC_AUTH_PASSWORD=
# Bearer Token。请求时使用 Authorization: Bearer <token>。
DOMBEACON_API_TOKEN=
# 默认 /api/health 不需要认证,便于 Docker/反向代理健康检查。
# 如果健康检查接口也要受保护,设为 true。
AUTH_PROTECT_HEALTH=false
# API 限流(可选;默认开启内置限流)
# 仅当上游已有可信限流器时才设为 true;否则保持 false。
DISABLE_API_RATE_LIMIT=false
# 普通写操作限流窗口,单位毫秒。默认 60000 即 1 分钟。
RATE_LIMIT_MUTATION_WINDOW_MS=60000
# 每个客户端在普通写操作窗口内允许的最大请求数。
RATE_LIMIT_MUTATION_MAX=120
# 重操作限流窗口,单位毫秒。默认 300000 即 5 分钟。
RATE_LIMIT_HEAVY_WINDOW_MS=300000
# 每个客户端创建域名接口的窗口内最大请求数。
RATE_LIMIT_DOMAINS_CREATE_MAX=30
# 每个客户端批量导入域名接口的窗口内最大请求数。
RATE_LIMIT_DOMAINS_IMPORT_MAX=5
# 每个客户端触发全量 SSL 检查接口的窗口内最大请求数。
RATE_LIMIT_SSL_CHECK_ALL_MAX=3
# 每个客户端手动触发后台任务接口的窗口内最大请求数。
RATE_LIMIT_TASK_TRIGGER_MAX=5
# 日志(可选)
# 日志级别:debug、info、warn、error。生产环境通常使用 info 或 warn。
LOG_LEVEL=info
# 日志格式:text 或 json。容器日志采集/结构化日志平台建议使用 json。
LOG_FORMAT=text
# 数据库(可选;生产建议显式确认 DATABASE_PATH)
# SQLite 数据库文件路径。相对路径会按进程工作目录解析,目录会自动创建。
DATABASE_PATH=./data/app.db
# SQLite journal 模式。默认 DELETE 兼容性最好;需要更好并发读写时可评估 WAL。
SQLITE_JOURNAL_MODE=DELETE
# 调度器(可选)
# 是否启用内置定时任务。设为 0 或 false 可关闭后台扫描和每日汇总。
ENABLE_SCHEDULER=1
# 定时任务使用的 IANA 时区,例如 Asia/Shanghai、UTC。
SCHEDULER_TIMEZONE=UTC
# 每批扫描的域名数量。WANTED 只跑 RDAP;OWNED 会额外跑 SSL 和 DNS 安全检查。
SCAN_BATCH_SIZE=5
# 每批扫描之间的等待时间,单位毫秒。
SCAN_BATCH_DELAY_MS=1000
# SMTP(通过 UI 配置,不在 .env 中填写)
# SMTP 目标邮箱、Host、账号、密码等通过 UI 配置,并加密存储在数据库中。
# Web Push(使用浏览器 Push 通知时三项条件必填)
# 浏览器 Push 通知使用的 VAPID 公钥。留空会禁用 Web Push。
# 生成示例:npx web-push generate-vapid-keys --json
VAPID_PUBLIC_KEY=
# 浏览器 Push 通知使用的 VAPID 私钥。必须与公钥配对。
VAPID_PRIVATE_KEY=
# VAPID subject,通常是 mailto:管理员邮箱 或站点 URL。
VAPID_SUBJECT=mailto:admin@example.com