zero-ppanel/deploy/docker-compose.yml
shanshanzhong 9bdc593db4
Some checks failed
Build docker and publish / prepare (20.15.1) (push) Successful in 3s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.admin image_name:ppanel-admin name:admin]) (push) Failing after 1m37s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.api image_name:ppanel-api name:api]) (push) Failing after 1m42s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.node image_name:ppanel-node name:node]) (push) Failing after 1m42s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.queue image_name:ppanel-queue name:queue]) (push) Failing after 1m34s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.scheduler image_name:ppanel-scheduler name:scheduler]) (push) Failing after 1m39s
Build docker and publish / deploy (push) Has been skipped
Build docker and publish / notify (push) Successful in 2s
环境变量
2026-02-28 04:02:14 -08:00

110 lines
1.9 KiB
YAML

version: '3.8'
services:
ppanel-api:
image: "${REPO}/api:latest"
ports:
- "8080:8080"
- "6160:6160"
depends_on:
- mysql
- redis
- jaeger
volumes:
- ../apps/api/etc:/app/etc
ppanel-admin:
image: "${REPO}/admin:latest"
ports:
- "8081:8081"
- "6161:6161"
depends_on:
- mysql
- redis
- jaeger
volumes:
- ../apps/admin/etc:/app/etc
ppanel-node:
image: "${REPO}/node:latest"
ports:
- "8082:8082"
- "6162:6162"
depends_on:
- mysql
- redis
- jaeger
volumes:
- ../apps/node/etc:/app/etc
deploy:
replicas: 2
ppanel-queue:
image: "${REPO}/queue:latest"
depends_on:
- mysql
- redis
- jaeger
volumes:
- ../apps/queue/etc:/app/etc
ppanel-scheduler:
image: "${REPO}/scheduler:latest"
depends_on:
- mysql
- redis
- jaeger
volumes:
- ../apps/scheduler/etc:/app/etc
# Infrastructure
mysql:
image: mysql:8.0
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: pavR2$mX7*tQ
MYSQL_DATABASE: ppanel
volumes:
- mysql_data:/var/lib/mysql
- ../sql:/docker-entrypoint-initdb.d
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- redis_data:/data
# Observability
jaeger:
image: jaegertracing/all-in-one:1.57
ports:
- "16686:16686"
- "4317:4317"
- "4318:4318"
- "14268:14268"
environment:
COLLECTOR_OTLP_ENABLED: "true"
prometheus:
image: prom/prometheus:v2.51.0
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana:10.4.0
ports:
- "3000:3000"
environment:
GF_SECURITY_ADMIN_PASSWORD: admin
depends_on:
- prometheus
- jaeger
volumes:
mysql_data:
redis_data: