zero-ppanel/deploy/docker-compose.yml
shanshanzhong 9dacd85a89
Some checks failed
Build docker and publish / prepare (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.admin image_name:ppanel-admin name:admin]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.api image_name:ppanel-api name:api]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.node image_name:ppanel-node name:node]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.queue image_name:ppanel-queue name:queue]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.scheduler image_name:ppanel-scheduler name:scheduler]) (push) Has been cancelled
Build docker and publish / deploy (push) Has been cancelled
Build docker and publish / notify (push) Has been cancelled
初始化
2026-02-26 04:12:43 -08:00

120 lines
2.1 KiB
YAML

version: '3.8'
services:
ppanel-api:
build:
context: ..
dockerfile: deploy/Dockerfile.api
ports:
- "8080:8080"
- "6160:6160"
depends_on:
- mysql
- redis
- jaeger
volumes:
- ../apps/api/etc:/app/etc
ppanel-admin:
build:
context: ..
dockerfile: deploy/Dockerfile.admin
ports:
- "8081:8081"
- "6161:6161"
depends_on:
- mysql
- redis
- jaeger
volumes:
- ../apps/admin/etc:/app/etc
ppanel-node:
build:
context: ..
dockerfile: deploy/Dockerfile.node
ports:
- "8082:8082"
- "6162:6162"
depends_on:
- mysql
- redis
- jaeger
volumes:
- ../apps/node/etc:/app/etc
deploy:
replicas: 2
ppanel-queue:
build:
context: ..
dockerfile: deploy/Dockerfile.queue
depends_on:
- mysql
- redis
- jaeger
volumes:
- ../apps/queue/etc:/app/etc
ppanel-scheduler:
build:
context: ..
dockerfile: deploy/Dockerfile.scheduler
depends_on:
- mysql
- redis
- jaeger
volumes:
- ../apps/scheduler/etc:/app/etc
# Infrastructure
mysql:
image: mysql:8.0
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: password
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: