48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
# Docker Compose for affiliate_dash (skin.khhao.com)
|
|
# In China, Docker Hub pull often hits rate limits on mirrors (e.g. docker.xuanyuan.me).
|
|
# Fix: Run "docker pull caddy:2" first, or use a mirror like registry.cn-hangzhou.aliyuncs.com/caddy/caddy:2
|
|
# Recommended: manually pull first, then docker compose up -d (no --build for caddy)
|
|
|
|
version: '3.8'
|
|
|
|
services:
|
|
backend:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.backend
|
|
ports:
|
|
- "8080:8080"
|
|
environment:
|
|
- PORT=8080
|
|
- JWT_SECRET=${JWT_SECRET}
|
|
- DB_PATH=/data/app.db
|
|
- MODE=release
|
|
- OPEN_API_KEY=${OPEN_API_KEY}
|
|
- OPEN_API_SECRET=${OPEN_API_SECRET}
|
|
- OPEN_SIGN_SKEW=${OPEN_SIGN_SKEW:-300}
|
|
- OPEN_API_DEBUG=${OPEN_API_DEBUG:-false}
|
|
- LOG_FILE=/data/app.log
|
|
volumes:
|
|
- backend-data:/data
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
caddy:
|
|
image: caddy:2
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- ./Caddyfile:/etc/caddy/Caddyfile
|
|
- ./frontend/dist:/usr/share/caddy
|
|
command: caddy run --config /etc/caddy/Caddyfile --adapter caddyfile
|
|
depends_on:
|
|
- backend
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
backend-data: |