version: '3.8' services: # 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" COLLECTOR_OTLP_HTTP_HOST_PORT: "0.0.0.0:4318" COLLECTOR_OTLP_GRPC_HOST_PORT: "0.0.0.0:4317" 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: