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 会。备份方法见 升级、备份与迁移。