xypass 的首次部署由 Gateway、Web、Sync API、Backup Controller、PostgreSQL 和一次性迁移任务组成。长期数据保存在宿主机绑定目录,重建容器不会删除数据库、附件密文或备份。

生成生产配置

在仓库根目录运行:

./scripts/production-env.sh init

脚本会创建权限为 600 的生产环境文件,生成数据库密码、Credential KEK、PAT Pepper 和备份密钥,并交互询问一次性 Admin Bootstrap Code。Bootstrap Code 为空时会自动生成高强度随机值。

启动现有生产栈

校验配置后启动 Compose:

docker compose --env-file deploy/production/.env \
  -f deploy/production/compose.yaml up -d

对外只暴露 Gateway 的 3033 入口。API、数据库和备份控制器留在内部网络,不需要单独开放公网端口。

初始化与认证

打开部署 Admin,使用 Bootstrap Code 创建首位管理员,然后选择本地账号或 OIDC。Bootstrap 只用于初始化控制面,完成后应失效;普通用户不使用这个 Code 登录 Web App。

最后分别检查产品域、Console 域、Admin 域和同源 API。部署成功不只意味着容器处于 Running,还要验证登录、解锁、同步、附件和备份边界都符合当前配置。