services: postgres: image: postgres:17-alpine container_name: boring_services_postgres ports: - 5432:5432 environment: - POSTGRES_PASSWORD=postgres - POSTGRES_USER=postgres - POSTGRES_DB=postgres cache: container_name: boring_services_redis image: redis:7.4.1-alpine ports: - '6379:6379' command: redis-server --save 20 1 --loglevel warning --requirepass development loki: image: grafana/loki:latest container_name: boring_services_loki ports: - "9100:3100" command: -config.file=/etc/loki/local-config.yaml grafana: image: grafana/grafana:latest container_name: boring_services_grafana environment: - GF_PATHS_PROVISIONING=/etc/grafana/provisioning - GF_AUTH_ANONYMOUS_ENABLED=true - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin entrypoint: - sh - -euc - | mkdir -p /etc/grafana/provisioning/datasources cat < /etc/grafana/provisioning/datasources/ds.yaml apiVersion: 1 datasources: - name: Loki type: loki access: proxy orgId: 1 url: http://loki:3100 basicAuth: false isDefault: true version: 1 editable: false EOF /run.sh ports: - "9000:3000"