Skip to content

:simple-gatus: Gatus

Gatus is a service health dashboard.

🛠 Installation

Default Port: 8080

Configuration path: /opt/gatus

homelab/lxc/gatus

task update
./update.sh

âš™ Config

homelab/lxc/gatus/.env

CONFIG_DIR=/etc/gatus
INSTALL_DIR=/opt/gatus
SERVICE_NAME=gatus

Traefik

homelab/pve/traefik/conf.d/gatus.yaml
---
http:
 #region routers 
  routers:
    gatus:
      entryPoints:
        - "websecure"
      rule: "Host(`gatus.l.nicholaswilde.io`)"
      middlewares:
        - default-headers@file
        - https-redirectscheme@file
      tls: {}
      service: gatus
#endregion
#region services
  services:
    gatus:
      loadBalancer:
        servers:
          - url: "http://192.168.2.220:8080"
        passHostHeader: true
#endregion
  middlewares:
    https-redirectscheme:
      redirectScheme:
        scheme: https
        permanent: true
    default-headers:
      headers:
        frameDeny: true
        browserXssFilter: true
        contentTypeNosniff: true
        forceSTSHeader: true
        stsIncludeSubdomains: true
        stsPreload: true
        stsSeconds: 15552000
        customFrameOptionsValue: SAMEORIGIN
        customRequestHeaders:
          X-Forwarded-Proto: https

    default-whitelist:
      ipAllowList:
        sourceRange:
        - "10.0.0.0/8"
        - "192.168.0.0/16"
        - "172.16.0.0/12"

    secured:
      chain:
        middlewares:
        - default-whitelist
        - default-headers

Task List

task: Available tasks for this project:
* create-template:       Create template from existing .env file
* decrypt:               Decrypt sensitive configuration files using SOPS.
* default:               List all available tasks.
* enable:                Enable the application's systemd service.
* encrypt:               Encrypt sensitive configuration files using SOPS.
* export:                Export the task list to `task-list.txt`.
* init:                  Initialize the application's environment and configuration files.
* mklinks:               Create symbolic links for configuration files.
* restart:               Restart the application's systemd service.
* start:                 Start the application's systemd service.
* status:                Check the status of the application's systemd service.
* stop:                  Stop the application's systemd service.
* update:                Update the application or its running containers.
* upgrade:               Upgrade the application by pulling the latest changes and updating.
* verify-secrets:        Checks if the decrypted secret matches the local file

🔗 References