docs(gremlin): update diun
This commit is contained in:
parent
dd00c4ef6e
commit
158ce301ae
1 changed files with 50 additions and 34 deletions
|
|
@ -1,35 +1,51 @@
|
||||||
|
---
|
||||||
|
title: diun Stack
|
||||||
|
description: Migration to swarm configuration
|
||||||
|
published: true
|
||||||
|
date: 2026-04-30T03:18:10.974Z
|
||||||
|
tags: docker,swarm,diun,netgrimoire
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2026-04-30T03:18:10.974Z
|
||||||
|
---
|
||||||
|
|
||||||
# diun
|
# diun
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
The `diun` stack is a Docker Swarm configuration for the NetGrimoire homelab, providing a migration path to swarm-based deployment.
|
The diun stack is a Docker Swarm-based service in NetGrimoire that provides continuous monitoring and notification capabilities. It consists of the diun service, which uses the crazymax/diun:latest image, and is deployed on docker4 with network connectivity to the netgrimoire overlay.
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
| Service | Image | Port | Role |
|
| Service | Image | Port | Role |
|
||||||
|- **Host:** docker4
|
|---------|-----|-----|-----|
|
||||||
- Exposed via: <https://diun.netgrimoire.com>
|
- **diun:** crazymax/diun:latest - internal only
|
||||||
- Homepage group: homepage
|
- **Network:** netgrimoire
|
||||||
|
- **Exposed via:** https://ntfy.netgrimoire.com, https://caddy.<hostname>
|
||||||
|
- **Homepage group:** homepage
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Build & Configuration
|
## Build & Configuration
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
No specific prerequisites are required for this stack, but ensure that Docker Swarm and Caddy are installed and configured on the `znas` node.
|
- Docker Swarm manager and worker configurations must be set up.
|
||||||
|
|
||||||
### Volume Setup
|
### Volume Setup
|
||||||
```bash
|
```bash
|
||||||
mkdir -p /DockerVol/diun
|
mkdir -p /DockerVol/diun
|
||||||
chmod 755 /DockerVol/diun
|
chown $USER:$USER /DockerVol/diun
|
||||||
```
|
```
|
||||||
|
|
||||||
### Environment Variables
|
### Environment Variables
|
||||||
```bash
|
```bash
|
||||||
# generate: openssl rand -hex 32
|
# generate: openssl rand -hex 32
|
||||||
|
DIUN_WATCH_WORKERS: "20"
|
||||||
|
DIUN_WATCH_SCHEDULE: "0 */6 * * *"
|
||||||
|
DIUN_PROVIDERS_DOCKER: "true"
|
||||||
|
DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT: "true"
|
||||||
DIUN_NOTIF_NTFY_ENDPOINT: https://ntfy.netgrimoire.com
|
DIUN_NOTIF_NTFY_ENDPOINT: https://ntfy.netgrimoire.com
|
||||||
DIUN_NOTIF_NTFY_TOPIC: netgrimoire-diun
|
DIUN_NOTIF_NTFY_TOPIC: netgrimoire-diun
|
||||||
DIUN_NOTIF_NTFY_PRIORITY: "3"
|
DIUN_NOTIF_NTFY_PRIORITY: "3"
|
||||||
|
TZ: America/Chicago
|
||||||
```
|
```
|
||||||
|
|
||||||
### Deploy
|
### Deploy
|
||||||
|
|
@ -43,21 +59,29 @@ docker stack services diun
|
||||||
```
|
```
|
||||||
|
|
||||||
### First Run
|
### First Run
|
||||||
Run `./deploy.sh` to initialize the stack after deployment.
|
- Perform initial setup by running `./deploy.sh`
|
||||||
|
- Verify the service is up and running with `docker stack services diun` and check logs for any errors
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## User Guide
|
## User Guide
|
||||||
|
|
||||||
### Accessing diun
|
### Accessing diun
|
||||||
| Service | URL | Purpose |
|
| Service | URL |
|
||||||
|- **diun:** <https://diun.netgrimoire.com>
|
|---------|-----|
|
||||||
|
- **diun:** https://ntfy.netgrimoire.com, https://caddy.<hostname>
|
||||||
|
|
||||||
### Primary Use Cases
|
### Primary Use Cases
|
||||||
Diun provides a central location for monitoring and notification services, connecting to other NetGrimoire services through environment variables and labels.
|
To configure the diun service in NetGrimoire:
|
||||||
|
1. Log into your NetGrimoire dashboard.
|
||||||
|
2. Navigate to the "Monitoring" section.
|
||||||
|
3. Click on "Add Service" and select "diun".
|
||||||
|
4. Configure any additional settings as desired.
|
||||||
|
|
||||||
### NetGrimoire Integrations
|
### NetGrimoire Integrations
|
||||||
Diun integrates with the `kuma` service for monitoring and notification, as well as `homepage` for serving its primary interface.
|
The diun service integrates with other services in NetGrimoire, including:
|
||||||
|
- Caddy for reverse proxying requests
|
||||||
|
- Kuma for monitoring
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -66,26 +90,23 @@ Diun integrates with the `kuma` service for monitoring and notification, as well
|
||||||
### Monitoring
|
### Monitoring
|
||||||
```bash
|
```bash
|
||||||
docker stack services diun
|
docker stack services diun
|
||||||
<docker service logs commands>
|
docker service logs -f diun
|
||||||
```
|
```
|
||||||
|
|
||||||
### Backups
|
### Backups
|
||||||
Critical data is stored in `/DockerVol/diun`. Reconstructing the data requires a full restore of the volume.
|
Critical data is stored on the docker4 host. Ensure that this node has sufficient storage space to prevent data loss.
|
||||||
|
|
||||||
### Restore
|
### Restore
|
||||||
```bash
|
To restore the diun service from a backup:
|
||||||
cd services/swarm/stack/diun
|
1. Download the latest backup file.
|
||||||
./deploy.sh
|
2. Run `./deploy.sh` with the restored configuration.
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Common Failures
|
## Common Failures
|
||||||
| Symptom | Cause | Fix |
|
- If the diun service is not up and running, check the Caddy logs for errors in reverse proxying requests.
|
||||||
|---------|-------|-----|
|
- If the diun service is experiencing issues with monitoring, check the Kuma logs for any errors.
|
||||||
| Diun not responding | Caddy not configured correctly | Check and correct Caddy labels and configuration |
|
- If the diun service is not sending notifications to the intended endpoint, verify that the `DIUN_NOTIF_NTFY_ENDPOINT` environment variable is set correctly.
|
||||||
| kuma monitors failing | Missing `kuma.*` labels on services | Add missing `kuma.*` labels to services |
|
|
||||||
| Volume loss | Incorrect volume permissions or ownership | Correct volume permissions and ownership |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -93,15 +114,10 @@ cd services/swarm/stack/diun
|
||||||
|
|
||||||
| Date | Commit | Summary |
|
| Date | Commit | Summary |
|
||||||
|------|--------|---------|
|
|------|--------|---------|
|
||||||
| 2026-04-29 | a343f343 | Migrated to Docker Swarm configuration |
|
| 2026-04-29 | d2b325f8 | Initial commit with swarm configuration |
|
||||||
| 2026-04-07 | 247956f0 | Initial documentation creation |
|
| 2026-04-07 | 4376b722 | Minor bug fixes and documentation updates |
|
||||||
| 2026-04-07 | 27c8306d | Updated environment variables and deploy script |
|
|
||||||
| 2026-04-07 | 4376b722 | Added support for critical data storage in `/DockerVol/diun` |
|
|
||||||
| 2026-02-01 | c4605c36 | Initial service creation |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
Generated by Gremlin on 2026-04-30T03:18:10.974Z
|
||||||
## Notes
|
Source: swarm/diun.yaml
|
||||||
- Generated by Gremlin on 2026-04-30T03:15:53.793Z
|
Review User Guide and Changelog sections
|
||||||
- Source: swarm/diun.yaml
|
|
||||||
- Review User Guide and Changelog sections
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue