跳转到内容

初始化 root 用户

bootstrap 控制服务启动时的初始化行为,目前主要用于自动创建初始 root 用户。

这类配置只应该用于首次部署或无人值守初始化。完成初始化后,生产环境建议关闭 bootstrap.create_root_user,避免后续误配置 root 密码造成混淆。

bootstrap:
create_root_user: true
root_username: "root"
root_email: "admin@example.com"
root_password_file: "/run/secrets/root_password"

类型:布尔值。

默认值:false

作用:启动时检查是否需要创建初始 root 用户。

适合开启的场景:

  • 首次部署,需要自动创建管理员。
  • Docker Compose 或 Helm 生产部署需要无人值守初始化。
  • 自动化测试或预置环境需要固定初始化流程。

适合关闭的场景:

  • 已经完成初始化。
  • 希望通过单独管理流程创建 root。
  • 测试环境不需要 root 用户。

类型:字符串。

默认值:root

作用:初始 root 用户名。

示例:

bootstrap:
root_username: "admin"

用户名不是 secret,但会出现在审计、管理界面或日志上下文中。建议不要使用个人真实姓名。

类型:字符串。

默认值:空字符串。

作用:初始 root 用户邮箱。

示例:

bootstrap:
root_email: "admin@example.com"

建议在以下场景填写:

  • 启用了邮箱验证、密码找回或邮箱 2FA。
  • 希望 root 账号能接收系统邮件。
  • 运维流程要求管理员账号有可追踪邮箱。

如果没有 SMTP 配置,可以先留空,后续在用户资料中补充。

类型:字符串 secret。

默认值:空字符串。

作用:初始 root 用户密码。

生产环境必须使用强密码,并推荐使用文件或 secret 注入:

Terminal window
SYNCTV_BOOTSTRAP_ROOT_PASSWORD_FILE=/run/secrets/root_password

生成建议:使用密码管理器生成至少 16 位随机密码。

不要使用:

  • admin
  • password
  • root
  • 项目名或域名
  • 文档示例里的固定值
环境变量对应配置
SYNCTV_BOOTSTRAP_CREATE_ROOT_USERbootstrap.create_root_user
SYNCTV_BOOTSTRAP_ROOT_USERNAMEbootstrap.root_username
SYNCTV_BOOTSTRAP_ROOT_EMAILbootstrap.root_email
SYNCTV_BOOTSTRAP_ROOT_PASSWORDbootstrap.root_password
SYNCTV_BOOTSTRAP_ROOT_PASSWORD_FILEbootstrap.root_password 文件