Files
docs/Servers/Containerization/Docker/Compose/Gatus.md

1.4 KiB

Purpose: Gatus Service Status Server.

Docker Configuration

version: "3.9"
services:
  postgres:
    image: postgres
    volumes:
      - /srv/containers/gatus/db:/var/lib/postgresql/data
    ports:
      - "5432:5432"
    env_file:
      - stack.env
    networks:
        docker_network:
          ipv4_address: 192.168.5.9

  gatus:
    image: twinproduction/gatus:latest
    restart: always
    ports:
      - "8080:8080"
    env_file:
      - stack.env
    volumes:
      - /srv/containers/gatus/config:/config
    depends_on:
      - postgres
    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