--- tags: - Gatus - Monitoring - Docker --- ## Purpose Gatus Service Status Server. ## Docker Configuration ```yaml title="docker-compose.yml" version: "3.9" services: postgres: image: postgres restart: always volumes: - /srv/containers/gatus/database:/var/lib/postgresql 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 ``` ## Related Documentation - [Docker Network Prerequisite](<../../Containers/Docker/Create the Docker Network.md>) — The configuration references the external `docker_network`; prepare it on the intended Docker host. - [Related Applications Documentation](<../../../reference/Applications/index.md>) — Find the connected deployments, procedures, and references for this subject. - [Traefik Deployment](<../../Networking and Access/Reverse Proxies/Traefik.md>) — Prepare the reverse proxy before applying this page's routing configuration.