Compose 编排
以下为 Docker Compose 完整配置,支持 MySQL / MariaDB / PostgreSQL。了解更多数据库配置请查看 数据库配置。
MySQL 编排(推荐)
当前版本:mysql:9.7.0。复制以下内容保存为 docker-compose.yml:
services:
mysql:
image: mysql:9.7.0
container_name: redirect-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root123
MYSQL_DATABASE: redirect
TZ: Asia/Shanghai
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
networks:
- redirect-net
backend:
image: ccr.ccs.tencentyun.com/redirect-go/server:latest
container_name: redirect-backend
restart: unless-stopped
depends_on:
mysql:
condition: service_healthy
ports:
- "12328:12328"
environment:
DB_DRIVER: mysql
DB_HOST: mysql
DB_PORT: 3306
DB_USER: root
DB_PASSWORD: root123
DB_NAME: redirect
JWT_SECRET: your-secret-here
ADMIN_USERNAME: admin
ADMIN_PASSWORD: admin123
volumes:
- app-data:/app/data
networks:
- redirect-net
portal:
image: ccr.ccs.tencentyun.com/redirect-go/portal:latest
container_name: redirect-portal
restart: unless-stopped
depends_on:
- backend
ports:
- "12329:12329"
environment:
BACKEND_HOST: backend
BACKEND_PORT: 12328
networks:
- redirect-net
admin:
image: ccr.ccs.tencentyun.com/redirect-go/admin:latest
container_name: redirect-admin
restart: unless-stopped
depends_on:
- backend
ports:
- "12330:12330"
environment:
BACKEND_HOST: backend
BACKEND_PORT: 12328
networks:
- redirect-net
volumes:
mysql-data:
app-data:
networks:
redirect-net: 其他数据库
如需使用 MariaDB(当前 mariadb:12.3.2)或 PostgreSQL(当前 postgres:18.4),请修改以下内容:
MariaDB 配置差异
# 将 mysql 服务替换为 mariadb
mariadb:
image: mariadb:12.3.2
container_name: redirect-mariadb
environment:
MARIADB_ROOT_PASSWORD: root123
MARIADB_DATABASE: redirect
# ... 其余配置相同
# backend 环境变量保持不变(使用 mysql 驱动)
DB_DRIVER: mysql
DB_HOST: mariadb PostgreSQL 配置差异
# 将 mysql 服务替换为 postgres
postgres:
image: postgres:18.4
container_name: redirect-postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: root123
POSTGRES_DB: redirect
# backend 环境变量需要修改
DB_DRIVER: postgres
DB_HOST: postgres
DB_PORT: 5432
DB_USER: postgres 详细参数说明请查看 数据库配置 页面。
启动服务
docker compose up -d 访问地址
- 门户端:
http://服务器IP:12329 - 管理后台:
http://服务器IP:12330 - 后端 API:
http://服务器IP:12328
请修改默认值:
MYSQL_ROOT_PASSWORD— 数据库密码JWT_SECRET— JWT 签名密钥ADMIN_PASSWORD— 管理员密码