Some checks failed
Build docker and publish / prepare (push) Successful in 0s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.admin image_name:zero-ppanel-admin name:admin]) (push) Failing after 15s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.api image_name:zero-ppanel-api name:api]) (push) Failing after 2s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.node image_name:zero-ppanel-node name:node]) (push) Failing after 2s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.queue image_name:zero-ppanel-queue name:queue]) (push) Failing after 2s
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.scheduler image_name:zero-ppanel-scheduler name:scheduler]) (push) Failing after 2s
Build docker and publish / notify (push) Has been cancelled
Build docker and publish / deploy (push) Has been cancelled
110 lines
1.9 KiB
YAML
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: 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:
|