services: timescaledb: image: timescale/timescaledb-ha:pg15 environment: POSTGRES_PASSWORD: password POSTGRES_DB: promscale POSTGRES_USER: postgres ports: - "5432:5432" volumes: - timescale_data:/var/lib/postgresql/data promscale: image: timescale/promscale:latest ports: - "9201:9201" depends_on: - timescaledb environment: PROMSCALE_DB_URI: postgres://postgres:password@timescaledb:5432/promscale?sslmode=disable PROMSCALE_STARTUP_INSTALL_EXTENSIONS: "true" restart: on-failure otel-collector: image: otel/opentelemetry-collector-contrib:latest container_name: otel-collector command: ["--config=/etc/otel-collector-config.yml"] volumes: - ./otel-collector-config.yml:/etc/otel-collector-config.yml ports: - "4317:4317" prometheus: image: prom/prometheus:latest container_name: prometheus volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml - ./rules:/etc/prometheus/rules ports: - "9090:9090" # Interfaccia Web di Prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' depends_on: - otel-collector grafana: image: grafana/grafana:latest ports: - "3000:3000" environment: - GF_SECURITY_ADMIN_PASSWORD=admin - GF_SECURITY_ADMIN_USER=admin volumes: - grafana-storage:/var/lib/grafana depends_on: - prometheus volumes: grafana-storage: timescale_data: