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 volumes: - ./grafana/dashboard.yaml:/etc/grafana/provisioning/dashboards/main.yaml - ./grafana/dashboards:/var/lib/grafana/dashboards - ./grafana/datasources:/etc/grafana/provisioning/datasources # 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"