108 lines
2.6 KiB
YAML
108 lines
2.6 KiB
YAML
# docker-compose.yml
|
|
# Streamlined infrastructure for local development
|
|
version: '3.8'
|
|
|
|
services:
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: re_workflow_redis
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- re_workflow_network
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
clamav:
|
|
image: clamav/clamav:latest
|
|
container_name: re_clamav
|
|
ports:
|
|
- "3310:3310"
|
|
volumes:
|
|
- clamav_data:/var/lib/clamav
|
|
environment:
|
|
- CLAMAV_NO_FRESHCLAMD=false
|
|
healthcheck:
|
|
test: ["CMD", "clamdcheck"]
|
|
interval: 60s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 120s
|
|
restart: unless-stopped
|
|
networks:
|
|
- re_workflow_network
|
|
|
|
loki:
|
|
image: grafana/loki:2.9.2
|
|
container_name: re_loki
|
|
ports:
|
|
- "3100:3100"
|
|
volumes:
|
|
- ./monitoring/loki/loki-config.yml:/etc/loki/local-config.yaml:ro
|
|
- loki_data:/loki
|
|
command: -config.file=/etc/loki/local-config.yaml
|
|
networks:
|
|
- re_workflow_network
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3100/ready || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
|
|
promtail:
|
|
image: grafana/promtail:2.9.2
|
|
container_name: re_promtail
|
|
volumes:
|
|
- ./monitoring/promtail/promtail-config.yml:/etc/promtail/config.yml:ro
|
|
- ./logs:/var/log/app:ro
|
|
- promtail_data:/tmp/promtail
|
|
command: -config.file=/etc/promtail/config.yml
|
|
depends_on:
|
|
- loki
|
|
networks:
|
|
- re_workflow_network
|
|
restart: unless-stopped
|
|
|
|
grafana:
|
|
image: grafana/grafana:10.2.2
|
|
container_name: re_grafana
|
|
ports:
|
|
- "3001:3000"
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=admin
|
|
- GF_SECURITY_ADMIN_PASSWORD=REWorkflow@2024
|
|
- GF_USERS_ALLOW_SIGN_UP=false
|
|
volumes:
|
|
- grafana_data:/var/lib/grafana
|
|
- ./monitoring/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro
|
|
- ./monitoring/grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards:ro
|
|
- ./monitoring/grafana/dashboards:/var/lib/grafana/dashboards:ro
|
|
depends_on:
|
|
- loki
|
|
networks:
|
|
- re_workflow_network
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3000/api/health || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
volumes:
|
|
redis_data:
|
|
clamav_data:
|
|
loki_data:
|
|
promtail_data:
|
|
grafana_data:
|
|
|
|
networks:
|
|
re_workflow_network:
|
|
driver: bridge
|