Files
affiliate_dash/docker-compose.yml
T
2026-07-22 13:20:23 +08:00

58 lines
1.7 KiB
YAML

services:
backend:
build:
context: .
dockerfile: Dockerfile.backend
args:
GO_BUILDER_IMAGE: ${GO_BUILDER_IMAGE:-docker.m.daocloud.io/library/golang:1.26-alpine}
BACKEND_RUNTIME_IMAGE: ${BACKEND_RUNTIME_IMAGE:-docker.m.daocloud.io/library/alpine:3.22}
GOPROXY: ${GOPROXY:-https://goproxy.cn,direct}
GOSUMDB: ${GOSUMDB:-sum.golang.google.cn}
ALPINE_MIRROR: ${ALPINE_MIRROR:-https://mirrors.aliyun.com/alpine}
image: affiliate-backend:latest
ports:
- "8080:8080"
environment:
- PORT=8080
- JWT_SECRET=${JWT_SECRET}
- DB_PATH=/data/app.db
- GIN_MODE=${GIN_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", "-fsS", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
caddy:
build:
context: .
dockerfile: Dockerfile.caddy
args:
NODE_BUILDER_IMAGE: ${NODE_BUILDER_IMAGE:-docker.m.daocloud.io/library/node:22-alpine}
CADDY_BASE_IMAGE: ${CADDY_BASE_IMAGE:-docker.m.daocloud.io/library/caddy:2-alpine}
NPM_REGISTRY: ${NPM_REGISTRY:-https://registry.npmmirror.com}
image: affiliate-caddy:latest
ports:
- "80:80"
- "443:443"
volumes:
- caddy-data:/data
- caddy-config:/config
depends_on:
backend:
condition: service_healthy
restart: unless-stopped
volumes:
backend-data:
caddy-data:
caddy-config: