--- name: sentry services: reverse-proxy: image: traefik:latest command: --api.insecure=true --providers.docker ports: - 80:80 - 8080:8080 volumes: - /var/run/docker.sock:/var/run/docker.sock networks: - traefik scraper: labels: - "traefik.http.routers.scraper.rule=Host(`sentry.docker.localhost`)" - "traefik.http.services.scraper.loadbalancer.server.port=3333" - "traefik.http.routers.scraper.service=scraper" networks: - traefik - redis - database db: image: postgres:16 environment: - POSTGRES_PASSWORD=password healthcheck: test: ["CMD-SHELL", "pg_isready", "-d", "postgres"] interval: 5s timeout: 60s retries: 5 start_period: 5s networks: - database grafana: image: grafana/grafana:latest labels: - "traefik.http.routers.grafana.rule=Host(`grafana.docker.localhost`)" - "traefik.http.services.grafana.loadbalancer.server.port=3000" - "traefik.http.routers.grafana.service=grafana" networks: - traefik - database redis: image: redis:latest networks: - redis networks: traefik: driver: bridge database: driver: bridge redis: driver: bridge