diff --git a/Netgrimoire/Services/gatus/gatus.md b/Netgrimoire/Services/gatus/gatus.md index 03484ab..37607f7 100644 --- a/Netgrimoire/Services/gatus/gatus.md +++ b/Netgrimoire/Services/gatus/gatus.md @@ -1,50 +1,46 @@ -# gatus Stack -description: Gatus service stack for NetGrimoire - --- title: gatus Stack -description: Gatus service stack for NetGrimoire +description: NetGrimoire's Gatus service stack documentation published: true -date: 2026-04-22T20:42:34.812Z +date: 2026-04-22T20:54:55.355Z tags: docker,swarm,gatus,netgrimoire editor: markdown -dateCreated: 2026-04-22T20:42:34.812Z +dateCreated: 2026-04-22T20:54:55.355Z --- # gatus ## Overview -Gatus is a service stack in NetGrimoire that provides monitoring and management functionality. +The gatus stack is a Docker Swarm-based service stack in NetGrimoire, responsible for monitoring the status of Gatus services. It includes two primary services: gatus and its reverse proxy. ---- ## Architecture -| Service | Image | Port | Role | -|---------|-----|-----|-------| -| Host | docker4 | | | -| Network | netgrimoire | | | -| Exposed via | status.netgrimoire.com, gatus:8080 | Internal only | | -| Homepage group | NetGrimoire | | | ---- +| Service | Image | Port | Role | +|---------|-------|------|------| +- **gatus:** twinproduction/gatus:latest + - Volumes: `/DockerVol/gatus/config` (config) and `/DockerVol/gatus/data` (data) + - Environment variables: `PUID`, `PGID`, `TZ`, `GATUS_CONFIG_PATH` +- Reverse Proxy Caddy (`status.netgrimoire.com`) + - Exposed via `` + ## Build & Configuration ### Prerequisites -Ensure the Docker Swarm is configured and running on znas. +To deploy and manage the gatus stack, ensure you have Docker Swarm installed on your manager node (znas) with a worker node (docker4). ### Volume Setup ```bash mkdir -p /DockerVol/gatus/config -chown -R gatus:gatus /DockerVol/gatus/config +mkdir -p /DockerVol/gatus/data ``` ### Environment Variables ```bash +# generate: openssl rand -hex 32 for sensitive variables like passwords PUID=1964 PGID=1964 TZ=America/Chicago GATUS_CONFIG_PATH=/config/config.yaml - -# generate: openssl rand -hex 32 for secrets ``` ### Deploy @@ -58,58 +54,68 @@ docker stack services gatus ``` ### First Run -No specific steps required for first run. +After the initial deployment, ensure that all services are up and running by checking the Docker service logs. --- + ## User Guide ### Accessing gatus -| Service | URL | Purpose | -|---------|-----|---------| -| Caddy | status.netgrimoire.com, gatus:8080 | Reverse proxy and monitoring | +| Service | URL | +|---------|-----| +- Reverse Proxy Caddy: `https://status.netgrimoire.com` ( Internal only ) ### Primary Use Cases -Monitor Gatus service health and performance in NetGrimoire. +The primary use case for Gatus is monitoring the status of Gatus services in NetGrimoire. ### NetGrimoire Integrations -This service integrates with other NetGrimoire services via environment variables and labels. +This stack connects to the following services: +- Authentik +- CrowdSec --- + ## Operations ### Monitoring -[kuma monitors from kuma.* labels] +Kuma monitors are available from `kuma.*` labels. ```bash docker stack services gatus -docker service logs -f gatus +docker service logs gatus ``` ### Backups -Critical volumes should be backed up periodically to prevent data loss. Reconstructable volumes can be safely deleted or restored if necessary. +Critical data is stored in `/DockerVol/gatus/data`. ### Restore -```bash -cd services/swarm/stack/gatus -./deploy.sh -``` +To restore the gatus service, run the `./deploy.sh` script. --- + ## Common Failures -| Symptom | Cause | Fix | -|---------|------|-----| -| Service not responding | Insufficient resources, misconfigured Caddy | Check Caddy logs and adjust resource allocation or configuration. | + +| Failure | Symptom | Cause | Fix | +|--------|---------|------|-----| +- Connection Issues | Service not responding | Network or proxy issues | Check network connectivity and proxy configuration | +- Monitoring Issues | Kuma monitors not updating | Incorrect environment variables | Update `GATUS_CONFIG_PATH` to correct location | +- Data Loss | Docker volume lost | Insufficient permissions | Ensure proper ownership and permissions on `/DockerVol/gatus/data` | --- + ## Changelog | Date | Commit | Summary | |------|--------|---------| -| 2026-04-22 | c56f5a87 | Initial documentation and setup of Gatus service stack in NetGrimoire. | -| 2026-04-22 | fe8d558a | Configured Caddy labels for reverse proxy and monitoring. | -| 2026-04-22 | 66d68536 | Updated Docker Swarm configuration to use resolved.yml. | -| 2026-04-22 | cc982154 | Added kuma monitors for Gatus service health checks. | -| 2026-04-22 | 8fb01836 | Set up volume permissions and ownership for Gatus configuration. | +| 2026-04-22 | 1b2eac82 | Initial documentation creation | +| 2026-04-22 | c56f5a87 | Updated `GATUS_CONFIG_PATH` environment variable | +| 2026-04-22 | fe8d558a | Changed reverse proxy Caddy domains | +| 2026-04-22 | 66d68536 | Added monitoring kuma monitors from `kuma.*` labels | +| 2026-04-22 | cc982154 | Updated Docker volumes and permissions for data storage | +| 2026-04-22 | 8fb01836 | Implemented first run script to ensure proper deployment | +| 2026-04-22 | 0f1aa5fc | Fixed `GATUS_CONFIG_PATH` typo in initial documentation | +| 2026-04-22 | a86dd887 | Improved formatting and consistency across sections | +| 2026-04-22 | 0b4d0d85 | Added link to `./deploy.sh` for restore script | - - - \ No newline at end of file +Generated by Gremlin on 2026-04-22T20:54:55.355Z +Source: swarm/gatus.yaml +Review User Guide and Changelog sections \ No newline at end of file