services: prometheus: image: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.55.1} container_name: ours-rp-prometheus command: - --config.file=/etc/prometheus/prometheus.yml - --storage.tsdb.path=/prometheus - --storage.tsdb.retention.time=${PROMETHEUS_RETENTION:-7d} - --web.enable-lifecycle extra_hosts: - host.docker.internal:host-gateway ports: - "${PROMETHEUS_PORT:-9090}:9090" volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro - prometheus-data:/prometheus restart: unless-stopped grafana: image: ${GRAFANA_IMAGE:-grafana/grafana:11.3.1} container_name: ours-rp-grafana depends_on: - prometheus ports: - "${GRAFANA_PORT:-3000}:3000" environment: GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER:-admin} GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD:-admin} GF_USERS_ALLOW_SIGN_UP: "false" volumes: - grafana-data:/var/lib/grafana - ./grafana/provisioning:/etc/grafana/provisioning:ro - ./grafana/dashboards:/var/lib/grafana/dashboards:ro restart: unless-stopped volumes: prometheus-data: grafana-data: