**Purpose**: Gatus Service Status Server. ## Docker Configuration ```yaml title="docker-compose.yml" version: "3.9" services: postgres: image: postgres volumes: - /srv/containers/gatus/database:/var/lib/postgresql/data ports: - "5432:5432" env_file: - stack.env networks: docker_network: ipv4_address: 192.168.5.9 healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres} -d ${POSTGRES_DB:-postgres}"] interval: 10s retries: 5 start_period: 30s gatus: image: twinproduction/gatus:latest restart: always ports: - "8080:8080" env_file: - stack.env volumes: - /srv/containers/gatus/config:/config depends_on: postgres: condition: service_healthy dns: - 192.168.3.25 - 192.168.3.26 networks: docker_network: ipv4_address: 192.168.5.8 networks: docker_network: external: true ``` ```yaml title=".env" N/A ``` ## Traefik Reverse Proxy Configuration If the container does not run on the same host as Traefik, you will need to manually add configuration to Traefik's dynamic config file, outlined below. ```yaml http: routers: status-bunny-lab: entryPoints: - websecure tls: certResolver: letsencrypt service: status-bunny-lab rule: Host(`status.bunny-lab.io`) middlewares: - "auth-bunny-lab-io" # Referencing the Keycloak Server services: status-bunny-lab: loadBalancer: servers: - url: http://192.168.5.8:8080 passHostHeader: true ```