Skip to content

高级部署 ​

高级部署从公开源码部署服务。

准备 ​

  • Docker 和 Docker Compose。
  • Git 和 OpenSSL。
  • 请在个人局域网内部署,部署在公网请务必配置 TLS 加密。

下载源码 ​

bash
git clone https://github.com/SubBoost/subboost.git
cd subboost/local

配置环境 ​

复制环境变量文件:

bash
cp local.env.example .env

生成密码和密钥:

bash
for name in POSTGRES_PASSWORD ENCRYPTION_KEY JWT_SECRET CRON_SECRET LOCAL_SETUP_TOKEN; do
  printf '%s=%s\n' "$name" "$(openssl rand -hex 32)"
done

将输出值填入 .env:

text
POSTGRES_DB=subboost
POSTGRES_USER=subboost
POSTGRES_PASSWORD=<随机值>
DATABASE_URL=postgresql://subboost:<POSTGRES_PASSWORD>@db:5432/subboost?schema=public
ENCRYPTION_KEY=<随机值>
JWT_SECRET=<随机值>
CRON_SECRET=<随机值>
LOCAL_SETUP_TOKEN=<随机值>
APP_URL=http(s)://<访问地址>:<端口>
SUBBOOST_PORT=<端口>
  • POSTGRES_PASSWORD 和 DATABASE_URL 使用同一密码。
  • ENCRYPTION_KEY、JWT_SECRET、CRON_SECRET、LOCAL_SETUP_TOKEN 使用互不相同的高强度随机值。

启动 ​

在 local 目录运行:

bash
docker compose up -d --build

创建管理员 ​

使用 .env 中的 APP_URL 和 LOCAL_SETUP_TOKEN 组成首次初始化链接:

text
<APP_URL>/login#setup-token=<LOCAL_SETUP_TOKEN>

在浏览器中打开该链接并创建管理员。该链接包含初始化令牌,请勿分享。

检查 ​

查看容器:

bash
docker compose ps

检查健康接口:

text
http(s)://<访问地址>:<端口>/api/health/live
http(s)://<访问地址>:<端口>/api/health/ready

查看日志:

bash
docker compose logs --tail=100 app
docker compose logs --tail=100 db

更新 ​

更新源码并重新部署:

bash
git pull --ff-only
docker compose up -d --build

更新前先按 更新维护 备份数据库和 .env。