Files
docs/services/monitoring/gatus.md
Nicole Rappe e73bb0376f
All checks were successful
GitOps Automatic Documentation Deployment / Sync Docs to https://kb.bunny-lab.io (push) Successful in 4s
GitOps Automatic Documentation Deployment / Sync Docs to https://docs.bunny-lab.io (push) Successful in 6s
Documentation Restructure
2026-01-27 05:25:22 -07:00

1.6 KiB

Purpose: Gatus Service Status Server.

Docker Configuration

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
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.

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