RobotPai / deployment /docker /docker-compose.yml
atr0p05's picture
Upload 291 files
8a682b5 verified
# docker-compose.yml
version: '3.8'
services:
platform-api:
build: .
ports:
- "8080:8080"
environment:
- REDIS_URL=redis://redis:6379
- LOG_LEVEL=INFO
depends_on:
- redis
volumes:
- ./logs:/app/logs
restart: unless-stopped
deploy:
replicas: 3
resources:
limits:
cpus: '2.0'
memory: 2G
reservations:
cpus: '1.0'
memory: 1G
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- redis-data:/data
command: redis-server --appendonly yes
prometheus:
image: prom/prometheus:latest
ports:
- "9090:9090"
volumes:
- ./deployment/monitoring/prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus-data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
- GF_USERS_ALLOW_SIGN_UP=false
volumes:
- grafana-data:/var/lib/grafana
- ./deployment/monitoring/grafana/dashboards:/etc/grafana/provisioning/dashboards
- ./deployment/monitoring/grafana/datasources:/etc/grafana/provisioning/datasources
depends_on:
- prometheus
nginx:
image: nginx:alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./ssl:/etc/nginx/ssl
depends_on:
- platform-api
volumes:
redis-data:
prometheus-data:
grafana-data: