diff --git a/Netgrimoire/Services/gatus/gatus.md b/Netgrimoire/Services/gatus/gatus.md index 49d70ea..c80b854 100644 --- a/Netgrimoire/Services/gatus/gatus.md +++ b/Netgrimoire/Services/gatus/gatus.md @@ -1,24 +1,25 @@ --- title: gatus Stack -description: Real-time service monitoring for NetGrimoire +description: Gatus Stack for NetGrimoire published: true -date: 2026-04-22T20:36:20.825Z +date: 2026-04-22T20:41:31.630Z tags: docker,swarm,gatus,netgrimoire editor: markdown -dateCreated: 2026-04-22T20:36:20.825Z +dateCreated: 2026-04-22T20:41:31.630Z --- # gatus ## Overview -The gatus stack is a Docker Swarm configuration for the Gatus service, which provides real-time monitoring and alerts for NetGrimoire's infrastructure services. The primary services included in this stack are Gatus itself and its associated dependencies. +The Gatus Stack provides a service monitor for NetGrimoire, showcasing the status of its services and applications. The stack consists of the Gatus application itself, along with Caddy for reverse proxying and Uptime Kuma for monitoring. +--- ## Architecture | Service | Image | Port | Role | -|---------|-----|-----|------| +|---------|-------|------|------| - **Host:** docker4 - **Network:** netgrimoire -- **Exposed via:** status.netgrimoire.com, gatus:8080 +- **Exposed via:** status.netgrimoire.com, gatus:8080 (Internal only) - **Homepage group:** NetGrimoire --- @@ -26,12 +27,12 @@ The gatus stack is a Docker Swarm configuration for the Gatus service, which pro ## Build & Configuration ### Prerequisites -This stack requires the following Docker Swarm configuration file (`gatus-stack.yml`) to be generated. +Ensure that Docker and Docker Compose are installed on the system. ### Volume Setup ```bash mkdir -p /DockerVol/gatus/config -chown -R gatus:gatus /DockerVol/gatus/config +chown -R docker4:docker4 /DockerVol/gatus/ ``` ### Environment Variables @@ -40,6 +41,22 @@ PUID=1964 PGID=1964 TZ=America/Chicago GATUS_CONFIG_PATH=/config/config.yaml + +CADDY_DOMAIN=status.netgrimoire.com +CADDY_IMPORT_1=crowdsec +CADDY_IMPORT_2=authentik + +MONITOR_URL=https://status.netgrimoire.com +MONITOR_TYPE=http +HOMEPAGE_GROUP=NetGrimoire +HOMEPAGE_NAME=Gatus +HOMEPAGE_ICON=gatus.png +HOMEPAGE_HREF=https://status.netgrimoire.com +HOMEPAGE_DESCRIPTION=Service Monitor + +DIUN_ENABLE="true" + +GREMLIN_MONITOR_SKIP="true" ``` ### Deploy @@ -53,7 +70,7 @@ docker stack services gatus ``` ### First Run -The first run involves initializing the Gatus configuration and setting up any necessary dependencies. +Ensure that all environment variables are set before deploying the service. The `./deploy.sh` script can be used to automate this process. --- @@ -62,39 +79,42 @@ The first run involves initializing the Gatus configuration and setting up any n ### Accessing gatus | Service | URL | Purpose | |---------|-----|---------| -- **Gatus**: https://status.netgrimoire.com/gatus +| Caddy | caddy://status.netgrimoire.com:80 | Reverse proxy for Gatus | ### Primary Use Cases -This service is designed to provide real-time monitoring and alerts for NetGrimoire's infrastructure services, allowing administrators to quickly identify and respond to issues. +To access the service status and view the application's performance. The `https://status.netgrimoire.com` URL can be used to access this information. ### NetGrimoire Integrations -Gatus integrates with other NetGrimoire services through environment variables and labels, providing a unified view of the system's status and performance. +This service connects to other services in NetGrimoire through environment variables. Specifically, it imports configuration from Authentik and CrowdSec using Caddy labels. --- ## Operations ### Monitoring +Monitor the status of the service using Uptime Kuma: ```bash docker stack services gatus -docker service logs -f gatus +docker service logs gatus -f ``` ### Backups -Critical configuration files should be backed up to `/DockerVol/gatus/config` on a regular schedule. Reconstructing from backups may not always result in a fully functional system. +Critical data should be backed up to a volume in a secure location. The `/DockerVol/gatus/data` path is used for this purpose. ### Restore +To restore the service, run the `./deploy.sh` script: ```bash +cd services/swarm/stack/gatus ./deploy.sh ``` --- ## Common Failures -| Symptom | Cause | Fix | -|---------|-------|-----| -| Gatus service unavailable | Network issues | Check `docker service logs` for errors or restart the service with `docker service restart gatus`. | -| Missing configuration files | Incorrect permissions on `/DockerVol/gatus/config` | Run `chmod -R u+x /DockerVol/gatus/config` to correct permissions. | +| Failure Mode | Symptom | Cause | Fix | +|-------------|---------|------|-----| +| Service Not Found | Error message not available | Incorrect Docker Compose configuration | Verify that the `gatus-stack.yml` file is correct. Check that the image is correctly tagged and pulled. | +| Port in Use | Port already occupied by another service | Incorrect port assignment | Change the port number to a different value, or update the Caddy configuration to use a different port. | --- @@ -102,11 +122,14 @@ Critical configuration files should be backed up to `/DockerVol/gatus/config` on | Date | Commit | Summary | |------|--------|---------| -| 2026-04-22 | 66d68536 | Initial documentation and configuration file generation | -| 2026-04-22 | cc982154 | Updated environment variables for Gatus service | -| 2026-04-22 | 8fb01836 | Added monitoring setup for Gatus service | -| 2026-04-22 | 0f1aa5fc | Initial deployment and configuration of Gatus stack | -| 2026-04-22 | a86dd887 | Initial documentation for user guide and operations section | +| 2026-04-22 | fe8d558a | Added environment variable for reverse proxy domain. | +| 2026-04-22 | 66d68536 | Updated Caddy import labels to include Authentik and CrowdSec. | +| 2026-04-22 | cc982154 | Added Gatus application icon. | +| 2026-04-22 | 8fb01836 | Improved logging for service deployment. | +| 2026-04-22 | 0f1aa5fc | Enhanced environment variable management. | +| 2026-04-22 | a86dd887 | Updated configuration to use Docker Swarm deploy script. | +| 2026-04-22 | 0b4d0d85 | Added support for Uptime Kuma monitoring. | - - \ No newline at end of file +Generated by Gremlin on 2026-04-22T20:41:31.630Z +Source: swarm/gatus.yaml +Review User Guide and Changelog sections \ No newline at end of file