Skip to content

Docker Compose 部署 ​

仓库自带的 docker-compose.yml 包含 PostgreSQL 16 和 Hub 两个服务,适合一台 VPS 自托管。

前置条件 ​

  • Docker 24+ 与 Docker Compose v2
  • 1 核 1 GB 内存即可运行;上传压缩会占用 CPU,大文件建议 2 核以上
  • 服务器能访问 *.assemblyai.com(不能直连时见 网络代理)

步骤 ​

bash
git clone https://github.com/trageeker/assemblyai-hub.git
cd assemblyai-hub
cp .env.example .env

编辑 .env:

ini
# 必填
SECRET_KEY=<openssl rand -hex 32>
ADMIN_PASSWORD=<控制台密码>
POSTGRES_PASSWORD=<数据库密码>

# 推荐:AssemblyAI 能访问到的公网地址,用于回调
PUBLIC_BASE_URL=https://hub.example.com
WEBHOOK_SECRET=<openssl rand -hex 16>

# 可选:对外端口,默认 18080
# HUB_PORT=18080

启动:

bash
docker compose up -d        # 拉取 GHCR 镜像
docker compose up -d --build  # 或者用本地代码构建

查看状态与日志:

bash
docker compose ps
docker compose logs -f app
curl http://localhost:18080/healthz

固定版本 ​

默认镜像是 ghcr.io/trageeker/assemblyai-hub:latest(main 分支最新构建)。生产环境建议固定到某个版本:

ini
# .env
HUB_IMAGE=ghcr.io/trageeker/assemblyai-hub:3.4.0

可用标签:X.Y.Z(如 3.4.0)、X.Y(如 3.4,跟随该次版本的最新修订)、latest、sha-<短提交号>。版本列表见 更新日志。

启动时自动导入 ​

不想每次重建后手动配置,可以在 .env 里预置:

ini
# 上游账号:名称:Key[:区域[:权重[:并发]]],逗号分隔
AAI_ACCOUNTS=main:<AAI_KEY_1>:us,backup:<AAI_KEY_2>:us:1:5
# 对外 Key:名称:完整 Key,逗号分隔,重建后 Key 保持不变
HUB_API_KEYS=app1:hub-<自定义随机串>

导入是幂等的,已存在的不会重复添加。

数据持久化 ​

数据库保存在名为 pgdata 的 Docker 卷里。docker compose down 不会删除它;docker compose down -v 会。备份方法见 升级、备份与迁移。

文档版本 v3.4.0 · 与项目版本同步