Skip to content

配置参考

Ember 的配置分三类。这一页只讲分类、必填项与重要边界,不重复完整字典。完整字典看 配置参考(主仓真相源)

配置分三类

  1. API 部署期环境变量

    • 由部署者通过 .env / Compose 注入
    • 包含数据库连接、签名密钥、加密主密钥、内部服务鉴权、Webhook 验签等「不应放进 UI」的边界配置
    • 修改要重启容器才生效
  2. API 运行期数据库配置(设置中心托管)

    • 由管理员在 /admin/settings 在线修改
    • 落库到 settings
    • 大多数改完即时生效;调度类(cron)改完需要重启 API
  3. Bot 启动期环境变量

    • 由部署者注入
    • 包含 Telegram token、webhook 地址、Internal 共享密钥
    • 修改要重启 Bot 容器

必填环境变量

.env 里这五项必须显式提供,否则 docker compose up 直接拒绝启动:

变量用途生成方式
POSTGRES_USERPostgreSQL 用户名自行决定,如 ember
POSTGRES_PASSWORDPostgreSQL 密码openssl rand -hex 16
JWT_SECRETJWT 签名密钥openssl rand -hex 32
CONFIG_ENCRYPTION_KEY设置中心敏感配置加密主密钥openssl rand -hex 32
INTERNAL_API_SECRETAPI ↔ Bot 共享密钥openssl rand -hex 32

DATABASE_URL 默认由 Compose 按 POSTGRES_USER/PASSWORD/DB 自动拼接到内置 PostgreSQL,不用手动填;指向独立 DB 时再显式覆盖。

启用 Bot 时(docker compose --profile bot up -d)额外必填:

  • TELEGRAM_BOT_TOKEN
  • TELEGRAM_WEBHOOK_SECRET(webhook 模式必填)
  • WEBHOOK_URL(webhook 模式必填,公网 HTTPS)

常用可选环境变量

下面这些在特定场景下才用得上:

变量用途
ADMIN_USERNAME默认 admin;首次启动用来初始化管理员
ADMIN_PASSWORD显式指定首次管理员密码;留空时 API 生成临时口令并强制首次改密
EMBY_WEBHOOK_TOKEN启用 Emby Webhook 入库回写时必填
STRIPE_WEBHOOK_SECRET启用 Stripe Webhook 时必填,只能走环境变量,不进入设置中心
TURNSTILE_SECRET_KEY启用 Turnstile 登录人机校验时必填,只能走环境变量
CRON_ENABLED是否启用 API 内置 cron,默认 true
RANKING_CRON_ENABLED是否启用排行榜 cron,默认 false

设置中心托管的配置

下面这些项已经从 env 迁到了设置中心数据库,不要再写进 .env。首次启动后进 /admin/settings 补齐:

  • 媒体集成:EMBY_URLEMBY_API_KEYTMDB_API_KEYMOVIEPILOT_URLMOVIEPILOT_API_KEY
  • 邮件:SMTP_HOST / SMTP_PORT / SMTP_USERNAME / SMTP_PASSWORD / SMTP_FROM 与验证码限流参数
  • 通知:BOT_NOTIFY_URLTELEGRAM_ADMIN_CHAT_IDTELEGRAM_GROUP_CHAT_ID
  • 支付:STRIPE_SECRET_KEYSTRIPE_SUCCESS_URLSTRIPE_CANCEL_URL
  • 调度:CRON_SCHEDULECRON_TIMEZONERANKING_DAILY_SCHEDULERANKING_WEEKLY_SCHEDULETV_CALENDAR_*
  • 业务:registration_modedefault_trial_daysemail_verificationregistration_allowed_email_domainsturnstile_login_enabled

新空库部署后这些都是空,对应能力会处于「未配置」态(接口返回业务标志位,不会把它当成上游错误)。补齐后即时生效。

修改后是否需要重启

类别是否需重启
.env 里的环境变量是(docker compose up -d 重建容器)
设置中心 → 大多数业务配置否(即时生效)
设置中心 → 调度配置(CRON_*RANKING_*TV_CALENDAR_*是(重启 API)

关键密钥不要混用

下面这五把密钥彼此用途不同,不要复用同一个值

  • JWT_SECRET:用户登录态信任根
  • CONFIG_ENCRYPTION_KEY:数据库敏感配置加密主密钥
  • INTERNAL_API_SECRET:服务间信任根
  • STRIPE_WEBHOOK_SECRET:Stripe 平台签名密钥
  • EMBY_WEBHOOK_TOKEN:项目自定义的 Emby Webhook 口令

完整字典在哪

完整的配置项清单(含敏感性、是否需重启、来源、默认值)维护在主仓:

相关文档

公开文档站,覆盖用户使用与开发者部署/贡献