Files
jiang13-bbs/deploy/docker-compose.yml
freefire d784b0ea7a feat: 交付官方 Docker 运行时,外观改背景图并下线自定义 CSS/JS
站点/后台分轨背景与用户列表排序一并落地;生产 CORS 改走 SITE_URL,健康检查带版本号。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 05:27:33 +08:00

73 lines
2.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 官方运行时契约(变更视为运行时大版本,须写 changelog)
#
# 本地开发不使用本文件:仓库根 docker-compose.yml 只起 Postgres,
# 配合 start.bat / cd backend && go run ./cmd/jiang13 + frontend npm run dev。
# 本 Compose 不含反代:页面 :3000、API :3001 交给宿主机 Nginx / Caddy。
name: jiang13
services:
postgres:
image: postgres:17-alpine
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-jiang13}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD in deploy/.env}
POSTGRES_DB: ${POSTGRES_DB:-jiang13}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-jiang13} -d ${POSTGRES_DB:-jiang13}"]
interval: 5s
timeout: 5s
retries: 5
api:
image: ${JIANG13_IMAGE_API:-jiang13-bbs-api}:${JIANG13_VERSION:-0.1.0}
build:
context: ..
dockerfile: deploy/Dockerfile.api
args:
VERSION: ${JIANG13_VERSION:-0.1.0}
COMMIT: ${JIANG13_COMMIT:-unknown}
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
environment:
HTTP_PORT: "3001"
DEV_MODE: "false"
JIANG13_WORK_PATH: /var/lib/jiang13
DATA_DIR: /var/lib/jiang13/data
DB_DSN: postgres://${POSTGRES_USER:-jiang13}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB:-jiang13}?sslmode=disable
JWT_SECRET: ${JWT_SECRET:?set JWT_SECRET in deploy/.env}
SITE_URL: ${SITE_URL:-https://localhost}
volumes:
- appdata:/var/lib/jiang13/data
ports:
- "${JIANG13_BIND:-127.0.0.1}:${JIANG13_API_PORT:-3001}:3001"
web:
image: ${JIANG13_IMAGE_WEB:-jiang13-bbs-web}:${JIANG13_VERSION:-0.1.0}
build:
context: ../frontend
dockerfile: ../deploy/Dockerfile.web
args:
VERSION: ${JIANG13_VERSION:-0.1.0}
BACKEND_URL: http://api:3001
restart: unless-stopped
depends_on:
api:
condition: service_healthy
environment:
BACKEND_URL: http://api:3001
NODE_ENV: production
PORT: "3000"
HOSTNAME: 0.0.0.0
ports:
- "${JIANG13_BIND:-127.0.0.1}:${JIANG13_WEB_PORT:-3000}:3000"
volumes:
pgdata:
appdata: