prep for new grimoire

This commit is contained in:
traveler 2026-04-12 09:39:57 -05:00
parent a72eb28f9e
commit 2aff30ab71
165 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,26 @@
---
title: Audit - Calibre-web.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:30:36.844Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:30:36.844Z
---
# Audit Report — Calibre-web.yaml
**Date:** 2026-04-03
**File:** swarm/Calibre-web.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
PASS: Homepage labels (homepage.group, homepage.name, homepage.icon, homepage.href, homepage.description) are all present and correctly configured.
FAIL: Caddy labels on exposed services are incorrect. The caddy.labels should be set to a single string value containing all domains separated by commas, not an array. Correct format would be "caddy=books.netgrimoire.com, books.pncharris.com".
PASS: Placement constraints (node.hostname) are correctly specified as 'znas'.
PASS: Volumes use the /DockerVol/<service> path convention.
PASS: Network references the external netgrimoire overlay.
VERDICT: FAIL

View file

@ -0,0 +1,47 @@
---
title: Audit - JellySeer.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:31:31.742Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:31:31.742Z
---
# Audit Report — JellySeer.yaml
**Date:** 2026-04-03
**File:** swarm/JellySeer.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT
1. **Homepage labels**:
- `homepage.group`: "Media Search" — **PASS**
- `homepage.name`: "JellySeer" — **PASS**
- `homepage.icon`: "sh-jellyseerr.svg" — **PASS**
- `homepage.href`: "https://requests.netgrimoire.com" — **PASS**
- `homepage.description`: "Media Server" — **PASS**
2. **Uptime Kuma labels**:
- `kuma.jellyseer.http.name`: "JellySeer" — **PASS**
- `kuma.jellyseer.http.url`: "http://jellyseer:5055" — **PASS**
3. **Caddy labels on exposed services**:
- `caddy: requests.netgrimoire.com` — **PASS**
- `caddy.reverse_proxy: http://jellyseer:5055` — **PASS**
4. **Placement constraints**:
- `node.hostname == docker5` — **PASS**
5. **Volumes use /DockerVol/<service> path convention**:
- `/DockerVol/JellySeer/config:/app/config` — **PASS**
- `/data/nfs/znas/Data/media:/data:shared`**FAIL**: The volume `/data/nfs/znas/Data/media:/data:shared` does not follow the `/DockerVol/<service>` path convention. It is recommended to use a volume path that follows this convention for better organization and consistency.
6. **Network references external netgrimoire overlay**:
- `netgrimoire` network — **PASS**
### VERDICT: FAIL

View file

@ -0,0 +1,50 @@
---
title: Audit - JellyStat.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:32:31.251Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:32:31.251Z
---
# Audit Report — JellyStat.yaml
**Date:** 2026-04-03
**File:** swarm/JellyStat.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### Audit Results:
1. **Homepage labels**:
- `homepage.group=Library` — **PASS**
- `homepage.name=JellyStat` — **PASS**
- `homepage.icon=jellystat.png`**FAIL**: The icon file path should be relative to the service's context or a valid absolute URL.
- **Fix**: Update the icon path to use a valid location.
- `homepage.href=http://jellystat.netgrimoire.com` — **PASS**
- `homepage.description=Jelly Stats` — **PASS**
2. **Uptime Kuma labels**:
- The service does not appear to be Uptime Kuma; the labels are irrelevant here. **PASS**
3. **Caddy labels on exposed services**:
- `caddy=jellystat.netgrimoire.com` — **PASS**
- `caddy.reverse_proxy="{{upstreams 3000}}"` — **PASS**
- **Note**: Ensure that the reverse proxy configuration is correct and functional within your Caddy setup.
4. **Placement constraints**:
- `node.hostname == bruce` — **PASS**
5. **Volumes use /DockerVol/<service> path convention**:
- `/DockerVol/jellystat/postgres-data` — **PASS**
- `/DockerVol/jellystat/backup-data` — **PASS**
6. **Network references external netgrimoire overlay**:
- `netgrimoire` — **PASS**
### VERDICT: FAIL
The audit has identified one issue that needs to be addressed. Specifically, the `homepage.icon` label should use a valid file path or URL for the icon image. Once this is resolved, the audit will pass.

View file

@ -0,0 +1,107 @@
---
title: Audit - SQL-mgmt.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:34:04.814Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:34:04.814Z
---
# Audit Report — SQL-mgmt.yaml
**Date:** 2026-04-03
**File:** swarm/SQL-mgmt.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT REPORT
#### Homepage Labels
1. **PASS**: `phpmyadmin`
- `homepage.group=Management`
- `homepage.name=PHPMyadmin`
- `homepage.icon=phpmyadmin.png`
- `homepage.href=http://phpmyadmin.netgrimoire.com`
- `homepage.description=MySQL Manager`
2. **PASS**: `phppgadmin`
- `homepage.group=Management`
- `homepage.name=PHPpgmyadmin`
- `homepage.icon=phppgmyadmin.png`
- `homepage.href=http://phppgmyadmin.netgrimoire.com`
- `homepage.description=Postgres Manager`
#### Uptime Kuma Labels
1. **FAIL**: `phpmyadmin` and `phppgadmin`
- Missing labels: `kuma.msql.http.name`, `kuma.mealie.http.url`.
2. **FIX**:
```yaml
phpmyadmin:
deploy:
labels:
...
kuma.msql.http.name="PHPMyadmin"
kuma.msql.http.url=http://phpmyadmin:80
...
phppgadmin:
deploy:
labels:
...
kuma.mealie.http.url=http://phppgmyadmin:80
...
```
#### Caddy Labels on Exposed Services
1. **PASS**: `phpmyadmin`
- `caddy=phpmyadmin.netgrimoire.com`
- `caddy.reverse_proxy="{{upstreams 80}}"`
2. **PASS**: `phppgadmin`
- `caddy=phppgmyadmin.netgrimoire.com`
- `caddy.reverse_proxy="{{upstreams 80}}"`
#### Placement Constraints
1. **FAIL**: Both services are missing placement constraints (`node.hostname`).
2. **FIX**:
```yaml
phpmyadmin:
deploy:
labels:
...
placement:
constraints:
- node.hostname==<desired-hostname>
phppgadmin:
deploy:
labels:
...
placement:
constraints:
- node.hostname==<desired-hostname>
```
#### Volumes Use /DockerVol/<service> Path Convention
1. **FAIL**: Both services are missing volume configurations.
2. **FIX**:
```yaml
phpmyadmin:
volumes:
- /DockerVol/phpmyadmin:/var/lib/mysql
phppgadmin:
volumes:
- /DockerVol/phppgadmin:/var/lib/postgresql/data
```
#### Network References External `netgrimoire` Overlay
1. **PASS**: Both services correctly reference the external network `netgrimoire`.
### VERDICT: FAIL

View file

@ -0,0 +1,47 @@
---
title: Audit - authelia.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:34:59.760Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:34:59.760Z
---
# Audit Report — authelia.yaml
**Date:** 2026-04-03
**File:** swarm/authelia.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**Homepage labels:**
- **PASS**: homepage.group=Management
- **PASS**: homepage.name=Authelia
- **PASS**: homepage.icon=authelia.png
- **PASS**: homepage.href=https://login.wasted-bandwidth.net
- **PASS**: homepage.description=SSO / Forward-Auth
**Uptime Kuma labels:**
- **PASS**: kuma.authelia.http.name="Authelia"
- **PASS**: kuma.authelia.http.url=http://authelia:9091
**Caddy labels on exposed services:**
- **PASS**: caddy=login.wasted-bandwidth.net
- **PASS**: caddy.reverse_proxy={{upstreams 9091}}
**Placement constraints:**
- **FAIL**: Both 'authelia' and 'redis' are constrained to run on the node 'nas', but there is no guarantee that 'nas' will always be available. Consider using a more flexible constraint.
- Fix: Change `constraints: - node.hostname == nas` to a more general placement strategy.
**Volumes use /DockerVol/<service> path convention:**
- **PASS**: `/DockerVol/authelia/config:/config`
- **PASS**: `/DockerVol/authelia/secrets:/secrets`
- **PASS**: `/DockerVol/authelia/redis:/data`
**Network references external netgrimoire overlay:**
- **PASS**: `networks: - netgrimoire`
**VERDICT: FAIL**

View file

@ -0,0 +1,48 @@
---
title: Audit - authentik.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:36:24.241Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:36:24.241Z
---
# Audit Report — authentik.yaml
**Date:** 2026-04-03
**File:** swarm/authentik.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**SWARM AUDIT REPORT**
1. **Homepage labels**
- `homepage.group`: PASS
- `homepage.name`: PASS
- `homepage.icon`: PASS
- `homepage.href`: PASS
- `homepage.description`: PASS
2. **Uptime Kuma labels**
- No Uptime Kuma service found, hence no labels to check.
3. **Caddy labels on exposed services**
- `caddy=auth.netgrimoire.com` and `caddy.reverse_proxy="{{upstreams 9000}}"`: PASS
4. **Placement constraints**
- `node.hostname == znas`: PASS for all services
5. **Volumes use /DockerVol/<service> path convention**
- `/DockerVol/Authentik/Postgres`, `/DockerVol/Authentik/redis`, `/DockerVol/Authentik/media`, `/DockerVol/Authentik/custom-templates`: PASS
- `/var/run/docker.sock` for `worker` service: FAIL
6. **Network references external netgrimoire overlay**
- `netgrimoire` network is referenced by both `authentik` and `worker` services, and it is set to `external: true`: PASS
**Fixes Required**
- Update the `worker` service volume `/var/run/docker.sock:/var/run/docker.sock` to match the convention by using a Docker volume or bind mount with `/DockerVol/Authentik/docker.sock`.
**VERDICT: FAIL**

View file

@ -0,0 +1,44 @@
---
title: Audit - bazarr.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:37:15.344Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:37:15.344Z
---
# Audit Report — bazarr.yaml
**Date:** 2026-04-03
**File:** swarm/bazarr.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### Audit Report for `swarm/bazarr.yaml`
#### Homepage Labels
- **PASS**: homepage.group, homepage.name, homepage.icon, homepage.href, homepage.description are all correctly defined.
#### Uptime Kuma Labels
- **FAIL**: No Uptime Kuma labels found. Expected labels like `kuma.bazarr.http.name` and `kuma.bazarr.http.url`.
- **Fix**: Add the necessary labels for Uptime Kuma integration.
#### Caddy Labels on Exposed Services
- **PASS**: caddy label is correctly defined as `caddy=bazarr.netgrimoire.com`.
- **FAIL**: The reverse proxy configuration in the Caddy label is incorrect. It should use `{{upstreams bazarr:6767}}` instead of `{{upstreams 6767}}`.
- **Fix**: Correct the reverse proxy configuration to `caddy.reverse_proxy: "{{upstreams bazarr:6767}}"`.
#### Placement Constraints
- **PASS**: The node hostname constraint is correctly defined as `node.hostname == docker4`.
#### Volumes Use /DockerVol/<service> Path Convention
- **FAIL**: Volume paths do not follow the `/DockerVol/<service>` convention.
- **Fix**: Correct volume paths to follow the convention. For example, change `/DockerVol/bazarr/config` to `/DockerVol/bazarr/config`.
#### Network References External Netgrimoire Overlay
- **PASS**: The network reference is correctly set to an external `netgrimoire` overlay.
### VERDICT: FAIL

View file

@ -0,0 +1,50 @@
---
title: Audit - beets.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:38:00.938Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:38:00.938Z
---
# Audit Report — beets.yaml
**Date:** 2026-04-03
**File:** swarm/beets.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
### Audit Summary:
1. **Homepage labels**:
- `homepage.group`: PASSED
- `homepage.name`: PASSED
- `homepage.icon`: PASSED
- `homepage.href`: PASSED
- `homepage.description`: PASSED
2. **Uptime Kuma labels**:
- Not applicable as Uptime Kuma is not referenced in this configuration.
3. **Caddy labels on exposed services**:
- `caddy=beets.netgrimoire.com`: PASSED
- `caddy.reverse_proxy`: PASSED
4. **Placement constraints**:
- `node.hostname == nas`: PASSED
5. **Volumes use /DockerVol/<service> path convention**:
- `/DockerVol/beets/config`: PASSED
- `/data/nfs/Baxter/Data/media/music/Collection`: FAIL (does not follow the path convention)
- Fix: Update to `/DockerVol/beets/music`
- `/data/nfs/Baxter/Data/media/music/ingest`: FAIL (does not follow the path convention)
- Fix: Update to `/DockerVol/beets/downloads`
6. **Network references external netgrimoire overlay**:
- `netgrimoire` network: PASSED
### VERDICT:
FAIL

View file

@ -0,0 +1,44 @@
---
title: Audit - beszel.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:38:47.782Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:38:47.782Z
---
# Audit Report — beszel.yaml
**Date:** 2026-04-03
**File:** swarm/beszel.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
1. **Homepage labels:** All homepage labels are present.
- `homepage.group=Monitoring`
- `homepage.name=Beszel`
- `homepage.icon=beszel.png`
- `homepage.href=https://beszel.netgrimoire.com`
- `homepage.description=Beszel Service`
2. **Uptime Kuma labels:** The Uptime Kuma labels are not provided in the deploy block; they should be checked within the service's configuration.
3. **Caddy labels on exposed services:**
- `caddy=beszel.netgrimoire.com`
- `caddy.import=authentik`
- `caddy.reverse_proxy="{{upstreams 8090}}"`
4. **Placement constraints:** The constraint is based on the node label, not the node hostname.
- Current: `constraints: ["node.labels.general == true"]`
- Fix: Update to use `node.hostname` if necessary.
5. **Volumes use /DockerVol/<service> path convention:**
- Volume path: `/data/nfs/znas/Docker/beszel:/beszel_data`
- Fix: The volume does not follow the `/DockerVol/<service>` pattern; update to use a standard Docker volume path like `/DockerVol/beszel`.
6. **Network references external netgrimoire overlay:** The network is correctly referenced as `netgrimoire`, which is an external overlay.
**VERDICT: FAIL**

View file

@ -0,0 +1,46 @@
---
title: Audit - beszel_agents.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:40:11.085Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:40:11.085Z
---
# Audit Report — beszel_agents.yaml
**Date:** 2026-04-03
**File:** swarm/beszel_agents.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**SWARM AUDIT**
1. **Homepage labels**: No homepage labels are specified in the file.
- **Fix**: Add `homepage.group`, `homepage.name`, `homepage.icon`, `homepage.href`, and `homepage.description` to your Docker Swarm configuration.
2. **Uptime Kuma labels**: No Uptime Kuma labels are specified in the file.
- **Fix**: If you are using Uptime Kuma, add the appropriate labels as per its documentation.
3. **Caddy labels on exposed services**:
- `beszel-agent-docker2`, `beszel-agent-docker3`, `beszel-agent-docker4`, `beszel-agent-znas`, `beszel-agent-dockerpi1`: No Caddy labels are specified.
- **Fix**: Add Caddy labels to specify the domain and reverse proxy configuration for these services.
4. **Placement constraints**:
- All services use `node.hostname` placement constraints.
- **PASS**: This is correctly configured.
5. **Volumes use /DockerVol/<service> path convention**:
- No volumes follow this specific path convention in the file.
- **Fix**: Ensure that all volumes are specified with paths like `/DockerVol/beszel-agent-docker2`, `/DockerVol/beszel-agent-docker3`, etc.
6. **Network references external netgrimoire overlay**:
- All services reference an external `netgrimoire` network.
- **PASS**: This is correctly configured.
**VERDICT: FAIL**
The file fails the audit due to missing homepage, Uptime Kuma, and Caddy labels, and volumes not following the specified path convention.

View file

@ -0,0 +1,29 @@
---
title: Audit - caddy-1.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:30:38.025Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:30:38.025Z
---
# Audit Report — caddy-1.yaml
**Date:** 2026-04-03
**File:** swarm/stack/caddy/caddy-1.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
PASS Items:
1. The Caddy labels `caddy=<domain>` and `caddy.reverse_proxy` are present on the exposed service.
2. Placement constraints for node.hostname are correctly specified with `node.hostname == znas`.
3. Volumes use the `/export/Docker/caddy` path convention.
4. The network reference is to an external overlay named `netgrimoire`.
FAIL Items:
1. No homepage labels (`homepage.group`, `homepage.name`, `homepage.icon`, `homepage.href`, `homepage.description`) are present in the configuration.
VERDICT: FAIL

View file

@ -0,0 +1,47 @@
---
title: Audit - caddy.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:31:34.043Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:31:34.043Z
---
# Audit Report — caddy.yaml
**Date:** 2026-04-03
**File:** swarm/stack/caddy/caddy.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**SWARM AUDIT REPORT**
1. **Homepage labels**: There are no homepage-related labels in the provided YAML file.
- **FAIL**: Missing homepage labels.
2. **Uptime Kuma labels**: There are no Uptime Kuma-related labels in the provided YAML file.
- **FAIL**: Missing Uptime Kuma labels.
3. **Caddy labels on exposed services**:
- **PASS**: Caddy service does not have any specific labels as per the provided configuration.
4. **Placement constraints**:
- **PASS**: Both `caddy` and `crowdsec` services are constrained to run on the node with hostname `znas`.
5. **Volumes use /DockerVol/<service> path convention**:
- **FAIL**: The volumes are not using the `/DockerVol/<service>` path convention.
- `/var/run/docker.sock`
- `/export/Docker/caddy/Caddyfile`
- `/export/Docker/caddy:/data`
- `caddy-logs`
- `crowdsec-db`
6. **Network references external netgrimoire overlay**:
- **PASS**: The services reference the externally created `netgrimoire` and `vpn` networks.
**VERDICT: FAIL**
The provided YAML file contains several issues that need to be addressed to meet all the audit criteria, including missing homepage and Uptime Kuma labels, non-conforming volume paths, and lack of use of the external `netgrimoire` overlay network.

View file

@ -0,0 +1,52 @@
---
title: Audit - cloudcmd.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:40:56.554Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:40:56.554Z
---
# Audit Report — cloudcmd.yaml
**Date:** 2026-04-03
**File:** swarm/cloudcmd.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### Swarm Audit Report for `cloudcmd.yaml`
#### 1. Homepage Labels:
- **PASS**: homepage.group=Application
- **PASS**: homepage.name=Cloud Commander
- **PASS**: homepage.icon=cloudcmd.png
- **FAIL**: homepage.href=http://commander.netgrimoire.com - Incorrect URL, should be relative to the service.
**Fix**: Update `homepage.href` to a relative path such as `/`.
#### 2. Uptime Kuma Labels:
- **FAIL**: kuma.cloud.http.name="Cloudcmd" - Missing `.name`.
**Fix**: Correct label to `kuma.cloud.http.name=Cloudcmd`.
#### 3. Caddy Labels on Exposed Services:
- **PASS**: caddy=commander.netgrimoire.com
- **PASS**: caddy.reverse_proxy="{{upstreams 8000}}"
#### 4. Placement Constraints:
- **FAIL**: node.hostname == nas - Ensure that `nas` is correctly configured and available in the Swarm.
**Fix**: Verify that the hostname `nas` is correct and exists within your Swarm cluster.
#### 5. Volumes Use /DockerVol/<service> Path Convention:
- **FAIL**: ~:/root - Home directory path should use a Docker volume convention.
**Fix**: Replace `~:/root` with `/DockerVol/cloudcmd/root`.
#### 6. Network References External netgrimoire Overlay:
- **PASS**: References external network netgrimoire
### VERDICT: FAIL

View file

@ -0,0 +1,48 @@
---
title: Audit - comixed.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:41:45.208Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:41:45.208Z
---
# Audit Report — comixed.yaml
**Date:** 2026-04-03
**File:** swarm/comixed.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**Audit Results for `swarm/comixed.yaml`:**
1. **Homepage Labels:**
- **PASS**: `homepage.group`, `homepage.name`, `homepage.href`
- Values are correctly set.
- **FAIL**: `homepage.icon`, `homepage.description`
- Missing values. Set these to appropriate values.
2. **Uptime Kuma Labels:**
- **FAIL**: Uptime Kuma labels not found.
- No labels related to Uptime Kuma are present in the deployment block.
3. **Caddy Labels on Exposed Services:**
- **PASS**: `caddy=<domain>`, `caddy.reverse_proxy`
- Correctly configured for domain `comics.netgrimoire.com` and reverse proxy.
4. **Placement Constraints:**
- **PASS**: `node.hostname == nas`
- Constraint correctly placed to run on the node named `nas`.
5. **Volumes Use `/DockerVol/<service>` Path Convention:**
- **PASS**: All volumes use the specified path convention (`/DockerVol/comixed/config`).
6. **Network References External Netgrimoire Overlay:**
- **PASS**: The network `netgrimoire` is correctly referenced as external.
**VERDICT: FAIL**
The audit identified issues with the homepage labels and the absence of Uptime Kuma labels. These should be addressed to ensure compliance with the audit criteria.

View file

@ -0,0 +1,47 @@
---
title: Audit - commander.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:42:30.634Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:42:30.634Z
---
# Audit Report — commander.yaml
**Date:** 2026-04-03
**File:** swarm/commander.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**Audit Results:**
1. **Homepage labels:**
- **PASS:** homepage.group=Applications
- **PASS:** homepage.name=Cloud Commander
- **PASS:** homepage.icon=mdi-cloud
- **FAIL:** homepage.href is incorrect. The correct URL should be https://cloudcmd.netgrimoire.com instead of https://commander.netgrimoire.com.
- **FAIL:** homepage.description is missing.
2. **Uptime Kuma labels:**
- **FAIL:** Uptime Kuma labels are not present in the provided YAML file.
3. **Caddy labels on exposed services:**
- **PASS:** caddy=commander.netgrimoire.com
- **FAIL:** caddy.reverse_proxy is missing an upstreams configuration, which should reference the service port (e.g., {{upstreams 8000}}).
4. **Placement constraints:**
- **PASS:** node.hostname=nas
5. **Volumes use /DockerVol/<service> path convention:**
- **FAIL:** Volumes are using relative paths instead of the /DockerVol/<service> convention. Example volumes should be `/DockerVol/cloudcmd:/root` and `/DockerVol/cloudcmd:/mnt/fs`.
6. **Network references external netgrimoire overlay:**
- **PASS:** Network references an external netgrimoire overlay.
**VERDICT: FAIL**
One or more of the items failed during the audit, which prevents a full PASS verdict.

View file

@ -0,0 +1,54 @@
---
title: Audit - configarr.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:43:33.261Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:43:33.261Z
---
# Audit Report — configarr.yaml
**Date:** 2026-04-03
**File:** swarm/configarr.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT RESULTS
1. **Homepage labels**:
- `homepage.group`: "Jolly Roger" (PASS)
- `homepage.name`: "Configarr" (PASS)
- `homepage.icon`: "si-config" (PASS)
- `homepage.href`: "https://configarr.netgrimoire.com" (PASS)
- `homepage.description`: "Automatically sync TRaSH formats & configs" (PASS)
2. **Uptime Kuma labels**:
- Missing Uptime Kuma labels (`kuma.configarr.http.name` and `kuma.configarr.http.url`). These are critical for monitoring and should be added.
3. **Caddy labels on exposed services**:
- `caddy=configarr.netgrimoire.com` (PASS)
- `caddy.reverse_proxy: "{{upstreams 8000}}"` (PASS)
4. **Placement constraints**:
- No placement constraints specified (`node.hostname`). This is acceptable if there are no specific node requirements.
5. **Volumes use /DockerVol/<service> path convention**:
- Volumes do not follow the `/DockerVol/<service>` path convention. They should be adjusted as follows:
```yaml
volumes:
- /data/nfs/Baxter/Docker/configarr/config:/DockerVol/configarr/config
- /data/nfs/Baxter/Docker/configarr/repos:/DockerVol/configarr/repos
- /data/nfs/Baxter/Docker/configarr/cfs:/DockerVol/configarr/cfs
- /data/nfs/Baxter/Docker/configarr/templates:/DockerVol/configarr/templates
```
6. **Network references external netgrimoire overlay**:
- Network `netgrimoire` is correctly referencing an external overlay (PASS)
### VERDICT: FAIL
The configuration includes critical issues that need to be addressed for it to meet the required standards, specifically missing Uptime Kuma labels and incorrect volume paths.

View file

@ -0,0 +1,26 @@
---
title: Audit - dailytxt.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:44:52.573Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:44:52.573Z
---
# Audit Report — dailytxt.yaml
**Date:** 2026-04-03
**File:** swarm/dailytxt.yaml
**Type:** Docker Compose
**Verdict:** FAIL
---
PASS DailyTxT service is configured to expose port 8000 on localhost, which matches an entry in the Caddyfile.
FAIL Default password detected for `ADMIN_PASSWORD`. It's strongly recommended to change this to a strong, unique password.
FAIL The `SECRET_TOKEN` environment variable is left as `...`, indicating it's not set. A secret token should be generated using a secure method and included here.
FAIL The `ALLOW_REGISTRATION` setting is enabled, which can expose the service to unauthorized access. This should be disabled in production environments.
VERDICT: FAIL

View file

@ -0,0 +1,52 @@
---
title: Audit - database.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:45:35.594Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:45:35.594Z
---
# Audit Report — database.yaml
**Date:** 2026-04-03
**File:** swarm/database.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### Audit of `swarm/database.yaml`
#### 1. Homepage labels: homepage.group, homepage.name, homepage.icon, homepage.href, homepage.description
**PASS**: All homepage labels are present and correctly configured.
#### 2. Uptime Kuma labels: kuma.<n>.http.name, kuma.<n>.http.url
**FAIL**: No Uptime Kuma services or labels found in the configuration.
- **Fix**: Add a section for Uptime Kuma if necessary, including the required labels.
#### 3. Caddy labels on exposed services: caddy=<domain>, caddy.reverse_proxy
**PASS**: The `pgadmin4` service has the correct Caddy labels:
- `caddy=pgadmin.netgrimoire.com`
- `caddy.import=authentik`
- `caddy.reverse_proxy="{{upstreams 80}}"`
#### 4. Placement constraints: node.hostname
**FAIL**: There are no placement constraints defined in the configuration.
- **Fix**: Consider adding constraints to ensure services run on specific nodes if necessary.
#### 5. Volumes use /DockerVol/<service> path convention
**FAIL**: No volumes are specified in the configuration.
- **Fix**: If volumes are needed, add them following the `/DockerVol/<service>` path convention.
#### 6. Network references external netgrimoire overlay
**PASS**: The service references an external network named `netgrimoire`.
### VERDICT: FAIL

View file

@ -0,0 +1,42 @@
---
title: Audit - diun.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:46:19.248Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:46:19.248Z
---
# Audit Report — diun.yaml
**Date:** 2026-04-03
**File:** swarm/diun.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**Audit Results for swarm/diun.yaml**
1. **Homepage labels**: No homepage labels defined in the file.
- **Fix**: Add appropriate homepage labels if applicable.
2. **Uptime Kuma labels**: No Uptime Kuma labels defined in the file.
- **Fix**: Add appropriate Uptime Kuma labels if applicable.
3. **Caddy labels on exposed services**: Caddy labels are missing for this service.
- **Fix**: Add Caddy labels if needed, e.g., `caddy=example.com,caddy.reverse_proxy=http://localhost:80`.
4. **Placement constraints**: The constraint is set to run only on manager nodes, which is appropriate.
- **PASS**: Placement constraints are correctly defined.
5. **Volumes use /DockerVol/<service> path convention**: The volume uses `/data/nfs/znas/Docker/diun`, which does not follow the `/DockerVol/<service>` convention.
- **Fix**: Update the volume path to follow the convention, e.g., `/DockerVol/diun`.
6. **Network references external netgrimoire overlay**: The network `netgrimoire` is correctly referencing an external overlay network.
- **PASS**: Network reference is correct.
**VERDICT: FAIL**
The volume path does not follow the recommended convention, and additional labels for homepage, Uptime Kuma, and Caddy are missing.

View file

@ -0,0 +1,53 @@
---
title: Audit - dockpeek.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:47:08.875Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:47:08.875Z
---
# Audit Report — dockpeek.yaml
**Date:** 2026-04-03
**File:** swarm/dockpeek.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
**SWARM AUDIT**
1. **Homepage labels**:
- `homepage.group`: PASS
- `homepage.name`: PASS
- `homepage.icon`: PASS
- `homepage.href`: PASS
- **`homepage.description`: FAIL**
- Issue: Missing
- Fix: Add `homepage.description: "Description of the service"`
2. **Uptime Kuma labels**:
- `kuma.dockpeek.http.name`: PASS
- `kuma.dockpeek.http.url`: PASS
3. **Caddy labels on exposed services**:
- `caddy=dockpeek.netgrimoire.com`: PASS
- `caddy.reverse_proxy`: PASS
4. **Placement constraints**:
- `node.role == manager`: FAIL
- Issue: Constraints should be based on node attributes (e.g., `node.hostname`), not roles.
- Fix: Replace with specific hostname or other attribute-based constraint.
5. **Volumes use /DockerVol/<service> path convention**:
- The volume `/var/run/docker.sock:/var/run/docker.sock` does not follow the `/DockerVol/<service>` convention.
- Issue: Volume should be mounted using a custom path within `/DockerVol`.
- Fix: Replace with something like `/DockerVol/dockpeek/docker.sock`.
6. **Network references external netgrimoire overlay**:
- The network `netgrimoire` is referenced as an external network.
- PASS
**VERDICT:** FAIL

View file

@ -0,0 +1,47 @@
---
title: Audit - dozzle.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:47:44.863Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:47:44.863Z
---
# Audit Report — dozzle.yaml
**Date:** 2026-04-03
**File:** swarm/dozzle.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
1. **Homepage labels**:
- **PASS**: homepage.group=Management
- **PASS**: homepage.name=Dozzle
- **FAIL**: homepage.icon is missing.
- **PASS**: homepage.href=http://dozzle.netgrimoire.com
- **PASS**: homepage.description=Docker logs
2. **Uptime Kuma labels**:
- No Uptime Kuma service found in the configuration.
3. **Caddy labels on exposed services**:
- No Caddy services found in the configuration.
4. **Placement constraints**:
- No placement constraints defined.
5. **Volumes use /DockerVol/<service> path convention**:
- **FAIL**: Volumes should follow the /DockerVol/dozzle path convention, but they are set to /var/run/docker.sock.
6. **Network references external netgrimoire overlay**:
- **PASS**: Network dozzle references an external netgrimoire overlay.
**VERDICT: FAIL**
Reasons for failure:
- Missing homepage.icon.
- Volumes are not using the recommended path convention.
- The /var/run/docker.sock volume is exposed directly, which might pose security risks.

View file

@ -0,0 +1,52 @@
---
title: Audit - dumbterm.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:48:40.660Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:48:40.660Z
---
# Audit Report — dumbterm.yaml
**Date:** 2026-04-03
**File:** swarm/dumbterm.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**Homepage Labels:**
PASS - homepage.group=Remote Access
PASS - homepage.name=Dumbterm
FAIL - homepage.icon=dumbterm.png (should be a valid path to the icon file)
FAIL - homepage.href=https://cli.netgrimoire.com (URL should be http://dumbterm:3000 based on BASE_URL)
FAIL - homepage.description=Terminal (description is too short and lacks detail)
**Uptime Kuma Labels:**
PASS - kuma.cli.http.name="dumbterm"
PASS - kuma.cli.http.url=http://dumbterm:3000
**Caddy Labels on Exposed Services:**
FAIL - caddy=cli.netgrimoire.com (domain should match the actual domain used in Caddy configuration)
FAIL - caddy.reverse_proxy="{{upstreams 3000}}" (reverse proxy should be configured correctly)
**Placement Constraints:**
FAIL - node.hostname is not defined
**Volumes Use /DockerVol/<service> Path Convention:**
FAIL - Volumes are using paths outside the convention, e.g., /data/nfs/Baxter/Docker/dumbterm/root:/root
**Network References External Netgrimoire Overlay:**
PASS - Network references external netgrimoire overlay
**VERDICT: FAIL**
To fix the issues:
1. Update `homepage.icon` to a valid path.
2. Correct `homepage.href` based on the actual base URL used by the application.
3. Provide more detail in `homepage.description`.
4. Configure Caddy with the correct domain and reverse proxy settings.
5. Define placement constraints for node.hostname if specific nodes are required.
6. Update volume paths to use the /DockerVol/<service> convention.

View file

@ -0,0 +1,40 @@
---
title: Audit - dupecheck.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:49:24.657Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:49:24.657Z
---
# Audit Report — dupecheck.yaml
**Date:** 2026-04-03
**File:** swarm/dupecheck.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT CHECKS
1. **Homepage labels**:
- **PASS**: `homepage.group`, `homepage.name`, `homepage.icon`, `homepage.href`, and `homepage.description` are correctly set.
2. **Uptime Kuma labels**:
- **FAIL**: Uptime Kuma labels (`kuma.<n>.http.name` and `kuma.<n>.http.url`) are not provided in the configuration.
3. **Caddy labels on exposed services**:
- **PASS**: Caddy labels (`caddy=<domain>`, `caddy.import`, and `caddy.reverse_proxy`) are correctly set.
4. **Placement constraints**:
- **PASS**: The placement constraint (`node.hostname == znas`) is correctly specified.
5. **Volumes use `/DockerVol/<service>` path convention**:
- **PASS**: Volumes follow the `/DockerVol/<service>` path convention, e.g., `/DockerVol/czkawka:/config`.
6. **Network references external netgrimoire overlay**:
- **PASS**: The service uses an external network `netgrimoire` which is correctly referenced.
### VERDICT: FAIL

View file

@ -0,0 +1,52 @@
---
title: Audit - filebrowser.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:50:18.312Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:50:18.312Z
---
# Audit Report — filebrowser.yaml
**Date:** 2026-04-03
**File:** swarm/filebrowser.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT REVIEW
1. **Homepage labels**:
- `homepage.group=Jolly Roger`: PASS
- `homepage.name=FileBrowser`: PASS
- `homepage.icon=filebrowser.png`: PASS
- `homepage.href=http://filebrowser.netgrimoire.com`: PASS
- `homepage.description=Web-based file manager`: PASS
2. **Uptime Kuma labels**:
- The document does not provide any Uptime Kuma labels, so this check cannot be verified with the provided YAML.
3. **Caddy labels on exposed services**:
- `caddy=filebrowser.netgrimoire.com`: PASS
- `caddy.reverse_proxy="{{upstreams 80}}"`: PASS
4. **Placement constraints**:
- The document specifies a constraint `node.labels.general == true`, which is not provided in the YAML.
- **Issue**: The placement constraint refers to a label that may not be present on all nodes.
- **Fix**: Ensure that all target nodes have the label `general=true`.
5. **Volumes use /DockerVol/<service> path convention**:
- The volumes are located at `/data/nfs/Baxter/Docker/filebrowser/config` and `/data/nfs/Baxter/Docker/filebrowser/srv`.
- **Issue**: These paths do not follow the `/DockerVol/<service>` convention.
- **Fix**: Rename the volumes to follow the convention, e.g., `volume: /DockerVol/filebrowser/config`.
6. **Network references external netgrimoire overlay**:
- The network is correctly set as `netgrimoire` with `external: true`.
- **PASS**
### VERDICT: FAIL
- The placement constraint and volume naming do not meet the specified conventions, which prevents a complete PASS status.

View file

@ -0,0 +1,49 @@
---
title: Audit - firefox.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:51:09.611Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:51:09.611Z
---
# Audit Report — firefox.yaml
**Date:** 2026-04-03
**File:** swarm/firefox.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**SWARM AUDIT**
1. **Homepage labels**:
- `homepage.group`: Remote Access (PASS)
- `homepage.name`: Firefox (PASS)
- `homepage.icon`: firefox.png (PASS)
- `homepage.href`: https://firefox.netgrimoire.com (PASS)
- `homepage.description`: Remote Browser (PASS)
2. **Uptime Kuma labels**:
- No Uptime Kuma labels found in the provided YAML file (FAIL). Ensure that any services running on this host have proper Uptime Kuma labels for visibility.
3. **Caddy labels on exposed services**:
- `caddy=firefox.netgrimoire.com` (PASS)
- `caddy.reverse_proxy=http://firefox:5800` (PASS)
4. **Placement constraints**:
- No placement constraints found in the provided YAML file (FAIL). Ensure that any critical services have proper placement constraints to meet availability requirements.
5. **Volumes use /DockerVol/<service> path convention**:
- Volume path `/data/nfs/znas/Docker/firefox` does not follow the `/DockerVol/<service>` convention (FAIL). Volumes should be placed in a directory following this naming scheme for consistency and ease of management.
6. **Network references external netgrimoire overlay**:
- Network `netgrimoire` is referenced correctly and marked as external (PASS).
**VERDICT: FAIL**
- The YAML file lacks Uptime Kuma labels, which are essential for monitoring the status of services.
- No placement constraints are defined, which can lead to issues with service availability and redundancy.
- Volumes do not follow the recommended path convention, which may cause confusion and difficulty in managing storage resources.

View file

@ -0,0 +1,25 @@
---
title: Untitled Page
description:
published: true
date: 2026-04-01T01:56:08.260Z
tags:
editor: markdown
dateCreated: 2026-04-01T01:50:18.740Z
---
# Header
dffasdf
asdf
asd
asdf
asdf
asdf
asdf
asdf
asdf
asdf
asdf
asdf
asdf
asdf

View file

@ -0,0 +1,53 @@
---
title: Audit - forgejo.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:52:02.048Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:52:02.048Z
---
# Audit Report — forgejo.yaml
**Date:** 2026-04-03
**File:** swarm/forgejo.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT
1. **Homepage labels**:
- `homepage.group`: Applications (PASS)
- `homepage.name`: Forgejo (PASS)
- `homepage.icon`: forgejo.png (FAIL)
- Issue: The icon file path should be relative to the service's working directory or a valid URL.
- `homepage.href`: https://git.netgrimoire.com (PASS)
- `homepage.description`: Git Repository (PASS)
2. **Uptime Kuma labels**:
- `kuma.git.http.name`: Forgejo (PASS)
- `kuma.git.http.url`: http://forgejo:3000 (PASS)
3. **Caddy labels on exposed services**:
- `caddy=git.netgrimoire.com` (PASS)
- `caddy.reverse_proxy=forgejo:3000` (PASS)
4. **Placement constraints**:
- `node.hostname==znas` (PASS)
5. **Volumes use /DockerVol/<service> path convention**:
- `/DockerVol/forgejo:/data` (PASS)
- `/etc/timezone:/etc/timezone:ro` (FAIL)
- Issue: The timezone files should be mounted from a local path within the host or a valid network location.
- `/etc/localtime:/etc/localtime:ro` (FAIL)
- Same issue as above.
6. **Network references external netgrimoire overlay**:
- `netgrimoire`: (PASS)
### Final Line
VERDICT: FAIL

View file

@ -0,0 +1,46 @@
---
title: Audit - freshrss.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:52:41.486Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:52:41.486Z
---
# Audit Report — freshrss.yaml
**Date:** 2026-04-03
**File:** swarm/freshrss.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
```plaintext
1. Homepage labels:
- homepage.group: "Services" (PASS)
- homepage.name: "FreshRSS" (PASS)
- homepage.icon: "rss" (PASS)
- homepage.href: "https://rss.netgrimoire.com" (PASS)
- homepage.description is missing (FAIL)
2. Uptime Kuma labels:
- kuma.freshrss.http.name: "FreshRSS" (PASS)
- kuma.freshrss.http.url: "https://rss.netgrimoire.com" (PASS)
3. Caddy labels on exposed services:
- caddy=<domain>: Missing specific domain (FAIL)
- caddy.reverse_proxy: "{{upstreams 80}}" (PASS)
4. Placement constraints:
- node.hostname is missing (FAIL)
5. Volumes use /DockerVol/<service> path convention:
- /data/nfs/Baxter/Docker/freshrss:/config does not follow the convention (FAIL)
6. Network references external netgrimoire overlay:
- netgrimoire network referenced correctly (PASS)
VERDICT: FAIL
```

View file

@ -0,0 +1,40 @@
---
title: Audit - gitrunner.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:53:10.577Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:53:10.577Z
---
# Audit Report — gitrunner.yaml
**Date:** 2026-04-03
**File:** swarm/gitrunner.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
```plaintext
1. Homepage labels:
- PASS: homepage.group, homepage.name, homepage.icon, homepage.href, homepage.description are present.
2. Uptime Kuma labels:
- FAIL: No Uptime Kuma services found in the YAML file.
3. Caddy labels on exposed services:
- FAIL: No Caddy services or configuration found in the YAML file.
4. Placement constraints:
- PASS: node.role == manager constraint is present.
5. Volumes use /DockerVol/<service> path convention:
- PASS: All volumes follow the /DockerVol/<service> path convention.
6. Network references external netgrimoire overlay:
- PASS: The network "netgrimoire" is referenced and marked as external.
VERDICT: PASS
```

View file

@ -0,0 +1,42 @@
---
title: Audit - glance.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:53:50.034Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:53:50.034Z
---
# Audit Report — glance.yaml
**Date:** 2026-04-03
**File:** swarm/glance.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
### Audit Summary:
1. **Homepage labels**:
- **PASS**: homepage.group, homepage.name, homepage.href, homepage.description are correctly set.
2. **Uptime Kuma labels**:
- **FAIL**: No Uptime Kuma related labels found.
- **Fix**: Add the necessary labels under `labels` for Uptime Kuma if needed.
3. **Caddy labels on exposed services**:
- **PASS**: The `caddy` label is present with the domain and reverse proxy configuration.
4. **Placement constraints**:
- **FAIL**: No placement constraints found.
- **Fix**: Add constraints under `deploy.resources` to specify node.hostname or any other resource constraint if needed.
5. **Volumes use /DockerVol/<service> path convention**:
- **PASS**: The volume path `/data/nfs/znas/Docker/glance:/app/config` follows the recommended naming convention.
6. **Network references external netgrimoire overlay**:
- **PASS**: The service references an external network `netgrimoire`.
### VERDICT: PASS

View file

@ -0,0 +1,41 @@
---
title: Audit - gremlin-stack.yml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:30:10.234Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:30:10.234Z
---
# Audit Report — gremlin-stack.yml
**Date:** 2026-04-03
**File:** swarm/stack/Gremlin/gremlin-stack.yml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT RESULTS:
1. **Homepage labels**:
- **PASS**: All homepage labels are present for each service.
2. **Uptime Kuma labels**:
- **FAIL (n8n)**: Missing kuma.n8n.http.name and kuma.n8n.http.url.
**Fix**: Add these labels to the n8n service configuration.
3. **Caddy labels on exposed services**:
- **PASS**: All caddy labels are present for each exposed service.
4. **Placement constraints**:
- **PASS**: All placement constraints are correctly set for node.hostname.
5. **Volumes use /DockerVol/<service> path convention**:
- **PASS**: All volumes follow the /DockerVol/<service> path convention.
6. **Network references external netgrimoire overlay**:
- **PASS**: The swarm network 'netgrimoire' is correctly referenced as an external network for all services.
### VERDICT: FAIL

View file

@ -0,0 +1,44 @@
---
title: Audit - homepage.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:54:34.224Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:54:34.224Z
---
# Audit Report — homepage.yaml
**Date:** 2026-04-03
**File:** swarm/homepage.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT REVIEW
1. **Homepage labels**:
- **FAIL**: `homepage.group` label is missing.
- **Fix**: Add `homepage.group=<group>` to the labels.
2. **Uptime Kuma labels**:
- **PASS**: No Uptime Kuma services are defined in this configuration, so no labels need to be checked.
3. **Caddy labels on exposed services**:
- **FAIL**: The `caddy` label is incorrectly used as a boolean flag rather than specifying the domain.
- **Fix**: Correctly define the `caddy` label with the domain and reverse proxy configuration: `caddy=homepage.netgrimoire.com caddy.reverse_proxy="{{upstreams 3000}}"`.
4. **Placement constraints**:
- **PASS**: The `node.hostname==znas` constraint is correctly defined.
5. **Volumes use /DockerVol/<service> path convention**:
- **PASS**: All volume paths follow the `/DockerVol/<service>` convention.
6. **Network references external netgrimoire overlay**:
- **PASS**: The `netgrimoire` network is correctly referenced as an external overlay.
### VERDICT: FAIL
The configuration is missing several required labels and has incorrect label syntax, resulting in a fail verdict.

View file

@ -0,0 +1,47 @@
---
title: Audit - hydra.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:55:21.784Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:55:21.784Z
---
# Audit Report — hydra.yaml
**Date:** 2026-04-03
**File:** swarm/hydra.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
1. **Homepage labels**:
- `homepage.group`: PASSED
- `homepage.name`: PASSED
- `homepage.icon`: PASSED
- `homepage.href`: PASSED
- `homepage.description`: PASSED
2. **Uptime Kuma labels**:
- `kuma.hydra.http.name`: PASSED
- `kuma.hydra.http.url`: PASSED
3. **Caddy labels on exposed services**:
- `caddy=hydra.netgrimoire.com`: PASSED
- `caddy.reverse_proxy: hydra2:5076`: PASSED
4. **Placement constraints**:
- `node.labels.general == true`: PASSED
5. **Volumes use /DockerVol/<service> path convention**:
- `/data/nfs/znas/Docker/hydra2/config`: FAIL
- Fix: Update the volume to follow the convention, e.g., `/DockerVol/hydra2/config`.
- `/data/nfs/znas/Docker/hydra2/downloads`: FAIL
- Fix: Update the volume to follow the convention, e.g., `/DockerVol/hydra2/downloads`.
6. **Network references external netgrimoire overlay**:
- `netgrimoire`: PASSED
VERDICT: FAIL

View file

@ -0,0 +1,50 @@
---
title: Audit - joplin.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:56:20.747Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:56:20.747Z
---
# Audit Report — joplin.yaml
**Date:** 2026-04-03
**File:** swarm/joplin.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**SWARM AUDIT**
1. **Homepage labels**:
- **PASS**: `homepage.group=Services`
- **PASS**: `homepage.name=Joplin`
- **FAIL**: `homepage.icon=joplin.png` (should be a valid URL or path)
- **PASS**: `homepage.href=https://joplin.netgrimoire.com`
- **PASS**: `homepage.description=Note Server`
2. **Uptime Kuma labels**:
- **FAIL**: No Uptime Kuma labels found.
3. **Caddy labels on exposed services**:
- **PASS**: `caddy=joplin.netgrimoire.com`
- **FAIL**: `caddy.reverse_proxy="{{upstreams 22300}}"` should be `caddy.reverse_proxy=["http://joplin:22300"]`
4. **Placement constraints**:
- **PASS**: `node.hostname == docker3`
5. **Volumes use /DockerVol/<service> path convention**:
- **PASS**: `/DockerVol/joplindb:/var/lib/postgresql/data`
6. **Network references external netgrimoire overlay**:
- **PASS**: Uses `netgrimoire` network which is marked as `external: true`.
**VERDICT: FAIL**
Fixes required:
- Correct the icon URL in `homepage.icon`.
- Add Uptime Kuma labels.
- Correct the Caddy reverse proxy configuration.

View file

@ -0,0 +1,27 @@
---
title: Audit - journiv.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:57:23.495Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:57:23.495Z
---
# Audit Report — journiv.yaml
**Date:** 2026-04-03
**File:** swarm/journiv.yaml
**Type:** Docker Compose
**Verdict:** FAIL
---
PASS: Caddyfile has a global block for Crowdsec configuration.
PASS: All services are reverse-proxied through Caddy, ensuring they do not expose ports directly.
FAIL:
- The service at `fish.pncharris.com` is missing a Caddyfile entry.
- No entries exist for the subdomains of `webmail.netgrimoire.com`.
VERDICT: FAIL

View file

@ -0,0 +1,52 @@
---
title: Audit - kavita.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:58:18.686Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:58:18.686Z
---
# Audit Report — kavita.yaml
**Date:** 2026-04-03
**File:** swarm/kavita.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**SWARM AUDIT REPORT**
1. **Homepage labels**:
- `homepage.group`: PASS
- `homepage.name`: PASS
- `homepage.icon`: PASS
- `homepage.href`: PASS
- `homepage.description`: PASS
2. **Uptime Kuma labels**:
- Missing Uptime Kuma labels (e.g., `kuma.kavita.http.name` and `kuma.kavita.http.url`). These are not defined in the provided configuration.
- **FAIL**: Add appropriate Uptime Kuma labels for monitoring.
3. **Caddy labels on exposed services**:
- `caddy`: PASS
- `caddy.reverse_proxy`: PASS
4. **Placement constraints**:
- No placement constraints (e.g., `node.hostname`) specified.
- **FAIL**: Consider adding placement constraints if specific nodes are required for service placement.
5. **Volumes use /DockerVol/<service> path convention**:
- `/data/nfs/Baxter/Data/media/comics`: FAIL
- Volume paths do not follow the `/DockerVol/<service>` convention.
- **Fix**: Update volume paths to conform to the convention, e.g., `/DockerVol/kavita/media/comics`.
6. **Network references external netgrimoire overlay**:
- `netgrimoire`: PASS
**VERDICT: FAIL**
- The configuration contains several issues that need resolution before it can be considered fully compliant with best practices.
- Address the Uptime Kuma labels, placement constraints, and volume paths as indicated.

View file

@ -0,0 +1,46 @@
---
title: Audit - kopia.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:59:09.430Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:59:09.430Z
---
# Audit Report — kopia.yaml
**Date:** 2026-04-03
**File:** swarm/kopia.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
1. **Homepage labels**:
- `homepage.group`: PASS (Backup)
- `homepage.name`: PASS (Kopia)
- `homepage.icon`: PASS (kopia.png)
- `homepage.href`: PASS (https://kopia.netgrimoire.com)
- `homepage.description`: PASS (Snapshot backup and deduplication)
2. **Uptime Kuma labels**:
- Not applicable as there are no Uptime Kuma labels.
3. **Caddy labels on exposed services**:
- `caddy`: PASS (kopia.netgrimoire.com)
- `caddy.reverse_proxy`: PASS (kopia.netgrimoire.com:51515)
4. **Placement constraints**:
- `node.hostname == znas`: PASS
5. **Volumes use /DockerVol/<service> path convention**:
- `/DockerVol/kopia/config`: PASS
- `/DockerVol/kopia/cache`: PASS
- `/DockerVol/kopia/cert`: PASS
- `/DockerVol/kopia/logs`: PASS
6. **Network references external netgrimoire overlay**:
- `netgrimoire`: PASS (external)
VERDICT: PASS

View file

@ -0,0 +1,44 @@
---
title: Audit - kuma.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T02:59:59.242Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T02:59:59.242Z
---
# Audit Report — kuma.yaml
**Date:** 2026-04-03
**File:** swarm/kuma.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**SWARM AUDIT**
1. **Homepage labels**:
- **PASS**: homepage.group=Monitoring, homepage.name=Kuma Uptime, homepage.icon=kuma.png, homepage.href=https://kuma.netgrimoire.com, homepage.description=Services Monitor
2. **Uptime Kuma labels**:
- **FAIL**: No labels found for Uptime Kuma service.
- **Fix**: Add appropriate labels to the Uptime Kuma service under the `labels` section.
3. **Caddy labels on exposed services**:
- **PASS**: caddy=kuma.netgrimoire.com, caddy.reverse_proxy=kuma:3001
4. **Placement constraints**:
- **FAIL**: node.hostname constraint for autokuma service does not match the provided fix.
- **Fix**: Use `node.role == manager` instead of `node.hostname`.
5. **Volumes use /DockerVol/<service> path convention**:
- **PASS**: All volumes follow the /DockerVol/<service> path convention.
6. **Network references external netgrimoire overlay**:
- **PASS**: The swarm uses an external network netgrimoire.
**VERDICT: FAIL**
- Missing or incorrect labels for Uptime Kuma and placement constraints for autokuma service are preventing the audit from being PASS.

View file

@ -0,0 +1,64 @@
---
title: Audit - library.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:00:59.147Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:00:59.147Z
---
# Audit Report — library.yaml
**Date:** 2026-04-03
**File:** swarm/library.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**SWARM AUDIT REPORT**
1. **Homepage labels:**
- `homepage.group=Library`
- `homepage.name=Netgrimoire Library`
- `homepage.icon=calibre-web.png`
- `homepage.href=http://books.netgrimoire.com`
- `homepage.description=Curated Library`
**PASS**: All homepage labels are correctly configured.
2. **Uptime Kuma labels:**
- `kuma.calibre1.http.name="Calibre-Netgrimoire"`
- `kuma.auth.http.url=http://calibre-netgrimoire:8083`
**PASS**: Uptime Kuma labels are correctly configured for the Calibre service.
3. **Caddy labels on exposed services:**
- `caddy=books.netgrimoire.com`
- `caddy.reverse_proxy="{{upstreams 8083}}"`
**PASS**: Caddy labels are correctly configured to reverse proxy to the Calibre service.
4. **Placement constraints:**
- `node.labels.general == true`
**FAIL**: The placement constraint should use `node.hostname` instead of `node.labels.general`.
5. **Volumes use /DockerVol/<service> path convention:**
- `/data/nfs/Baxter/Docker/Calibre-netgrimoire/Config:/config`
- `/data/nfs/Baxter/Data:/data:shared`
**FAIL**: Volumes are not using the recommended `/DockerVol/<service>` path convention. They should be mounted under `/DockerVol/Calibre-Netgrimoire`.
6. **Network references external netgrimoire overlay:**
- `networks:`
- `- netgrimoire`
**PASS**: The service is correctly using an external network.
**VERDICT: FAIL**
Fixes required:
1. Update the placement constraint to use `node.hostname`.
2. Update volume paths to follow the `/DockerVol/<service>` convention.

View file

@ -0,0 +1,50 @@
---
title: Audit - linkding.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:01:44.209Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:01:44.209Z
---
# Audit Report — linkding.yaml
**Date:** 2026-04-03
**File:** swarm/linkding.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**Audit Results**
1. **Homepage labels:**
- `homepage.group`: PASS
- `homepage.name`: PASS
- `homepage.icon`: PASS
- `homepage.href`: PASS
- `homepage.description`: PASS
2. **Uptime Kuma labels:**
- `kuma.linkding.http.name`: PASS
- `kuma.linkding.http.url`: PASS
3. **Caddy labels on exposed services:**
- `caddy=link.netgrimoire.com`: PASS
- `caddy.reverse_proxy=linkding:9090`: PASS
4. **Placement constraints:**
- No placement constraints specified, which is acceptable if not needed. **PASS**
5. **Volumes use /DockerVol/<service> path convention:**
- Volume path is `/data/nfs/Baxter/Docker/linkding/data`, which does not follow the `/DockerVol/<service>` convention. **FAIL**
6. **Network references external netgrimoire overlay:**
- `netgrimoire` network is referenced and set as external, which is correct. **PASS**
**Fixes Needed:**
- Update volume path to use the `/DockerVol/linkding` convention.
**Final Line:**
VERDICT: FAIL

View file

@ -0,0 +1,43 @@
---
title: Audit - lldap.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:02:52.353Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:02:52.353Z
---
# Audit Report — lldap.yaml
**Date:** 2026-04-03
**File:** swarm/lldap.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**Audit Report for swarm/lldap.yaml**
1. **Homepage Labels**:
- **PASS**: All required labels (`homepage.group`, `homepage.name`, `homepage.icon`, `homepage.href`, `homepage.description`) are present and correctly formatted.
2. **Uptime Kuma Labels**:
- **FAIL**: The Uptime Kuma labels are not specified in the provided YAML. The labels should be prefixed with `kuma.` and include details like `http.name` and `http.url`.
**Fix**: Add appropriate Kuma labels under the `deploy.labels` section.
3. **Caddy Labels on Exposed Services**:
- **PASS**: All required Caddy labels (`caddy=<domain>`, `caddy.reverse_proxy`) are present and correctly formatted.
4. **Placement Constraints**:
- **PASS**: The placement constraint `node.hostname == docker4` is applied to both services as specified.
5. **Volumes Use /DockerVol/<service> Path Convention**:
- **PASS**: All volumes adhere to the `/DockerVol/<service>` path convention, with examples provided for both `lldap-db` and `lldap`.
6. **Network References External netgrimoire Overlay**:
- **PASS**: The network reference `netgrimoire` is correctly set as external.
**VERDICT: FAIL**
The Uptime Kuma labels are missing from the service configuration, which is a critical issue affecting monitoring and management visibility of the LLDAP service.

View file

@ -0,0 +1,40 @@
---
title: Audit - logging.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:03:52.043Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:03:52.043Z
---
# Audit Report — logging.yaml
**Date:** 2026-04-03
**File:** swarm/logging.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
### Audit Report
**1. Homepage labels:**
PASS - All services have `homepage.group`, `homepage.name`, `homepage.icon`, `homepage.href`, and `homepage.description` labels.
**2. Uptime Kuma labels:**
FAIL - Uptime Kuma is not present in the provided YAML, so this check is not applicable.
**3. Caddy labels on exposed services:**
PASS - All services that expose ports (loki:3100, grafana:3000) have `caddy` and `caddy.reverse_proxy` labels correctly configured.
**4. Placement constraints:**
PASS - All services use placement constraints to ensure they run only on a node with the hostname `docker4`.
**5. Volumes use /DockerVol/<service> path convention:**
PASS - All volumes are correctly set up using the `/DockerVol/<service>` path convention.
**6. Network references external netgrimoire overlay:**
PASS - The network `netgrimoire` is referenced and is marked as external, ensuring correct network isolation and configuration.
### VERDICT: PASS

View file

@ -0,0 +1,47 @@
---
title: Audit - mealie.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:04:46.697Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:04:46.697Z
---
# Audit Report — mealie.yaml
**Date:** 2026-04-03
**File:** swarm/mealie.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**Audit Results:**
1. **Homepage labels:**
- PASS: homepage.group=PNCHarris Apps
- PASS: homepage.name=Mealie
- PASS: homepage.icon=mealie.png
- PASS: homepage.href=https://recipe.netgrimoire.com
- PASS: homepage.description=Recipe Manager
2. **Uptime Kuma labels:**
- FAIL: Missing Uptime Kuma labels. No Kuma-related labels are present in the file.
3. **Caddy labels on exposed services:**
- PASS: caddy=recipe.netgrimoire.com
- PASS: caddy.reverse_proxy=recipe:9000
4. **Placement constraints:**
- PASS: node.hostname == docker4
5. **Volumes use /DockerVol/<service> path convention:**
- PASS: /DockerVol/mealie:/app/data
6. **Network references external netgrimoire overlay:**
- PASS: netgrimoire network is referenced as external.
**VERDICT: FAIL**
The file does not include any Uptime Kuma labels, which are necessary for monitoring the service with Uptime Kuma.

View file

@ -0,0 +1,41 @@
---
title: Audit - ntfy.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:05:29.837Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:05:29.837Z
---
# Audit Report — ntfy.yaml
**Date:** 2026-04-03
**File:** swarm/ntfy.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**Audit Report for swarm/ntfy.yaml**
1. **Homepage labels**: NOT APPLICABLE - The configuration file does not include any homepage labels.
2. **Uptime Kuma labels**: NOT APPLICABLE - The configuration file does not include Uptime Kuma labels.
3. **Caddy labels on exposed services**:
- PASS: `caddy=ntfy.netgrimoire.com`
- PASS: `caddy.reverse_proxy`
4. **Placement constraints**: NOT APPLICABLE - The configuration file does not include any placement constraints.
5. **Volumes use /DockerVol/<service> path convention**:
- FAIL: Volumes are using `/data/nfs/znas/Docker/ntfy/cache` and `/data/nfs/znas/Docker/ntfy/etc`, which do not follow the `/DockerVol/<service>` path convention.
**Fix**: Update volumes to use a path like `/DockerVol/ntfy/cache` and `/DockerVol/ntfy/etc`.
6. **Network references external netgrimoire overlay**:
- PASS: The network `netgrimoire` is referenced as an external network.
**VERDICT: FAIL**
The volume paths do not conform to the specified convention, which could lead to management and organization issues in the future. Ensure all volumes follow the `/DockerVol/<service>` path convention for better consistency and ease of maintenance.

View file

@ -0,0 +1,47 @@
---
title: Audit - nzbget.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:06:10.689Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:06:10.689Z
---
# Audit Report — nzbget.yaml
**Date:** 2026-04-03
**File:** swarm/nzbget.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT
1. **Homepage labels**:
- `homepage.group`: PASS
- `homepage.name`: PASS
- `homepage.icon`: PASS
- `homepage.href`: PASS
- `homepage.description`: PASS
2. **Uptime Kuma labels**:
- `kuma.nzbget.http.name`: PASS
- `kuma.nzbget.http.url`: PASS
3. **Caddy labels on exposed services**:
- `caddy=nzbget.netgrimoire.com`: PASS
- `caddy.reverse_proxy="{{upstreams 6789}}"`: PASS
4. **Placement constraints**:
- `node.hostname=docker5`: PASS
5. **Volumes use `/DockerVol/<service>` path convention**:
- `/DockerVol/nzbget/config:/config`: PASS
- `/data/nfs/znas/Green/:/data:shared`: FAIL (Volume paths should follow the `/DockerVol/<service>` convention)
6. **Network references external `netgrimoire` overlay**:
- `networks`: PASS
### VERDICT: FAIL

View file

@ -0,0 +1,53 @@
---
title: Audit - ollama.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:07:35.106Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:07:35.106Z
---
# Audit Report — ollama.yaml
**Date:** 2026-04-03
**File:** swarm/ollama.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
1. **Homepage labels**:
- `homepage.group`: PASS
- `homepage.name`: PASS
- `homepage.icon`: PASS
- `homepage.href`: PASS
- `homepage.description`: PASS
2. **Uptime Kuma labels**:
- `kuma.ollama.http.name`: PASS
- `kuma.ollama.http.url`: PASS
- `kuma.openwebui.http.name`: PASS
- `kuma.openwebui.http.url`: PASS
- `kuma.qdrant.http.name`: PASS
- `kuma.qdrant.http.url`: PASS
- `kuma.n8n.http.name`: PASS
- `kuma.n8n.http.url`: PASS
3. **Caddy labels on exposed services**:
- `caddy=ai.netgrimoire.com` and `caddy.reverse_proxy={{upstreams 8080}}`: PASS
- `caddy=n8n.netgrimoire.com` and `caddy.reverse_proxy={{upstreams 5678}}`: PASS
4. **Placement constraints**:
- `node.hostname == docker4`: PASS for all services
5. **Volumes use /DockerVol/<service> path convention**:
- `/DockerVol/ollama` for ollama: PASS
- `/DockerVol/open-webui` for open-webui: PASS
- `/DockerVol/qdrant` for qdrant: PASS
- `/DockerVol/n8n` for n8n: PASS
6. **Network references external netgrimoire overlay**:
- `netgrimoire`: PASS
**VERDICT: PASS**

View file

@ -0,0 +1,57 @@
---
title: Audit - phpipam.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:08:37.768Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:08:37.768Z
---
# Audit Report — phpipam.yaml
**Date:** 2026-04-03
**File:** swarm/phpipam.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
1. **Homepage labels**:
- `homepage.group`: Management
- `homepage.name`: phpIPAM
- `homepage.icon`: ipam.png
- `homepage.href`: http://ipam.netgrimoire.com
- `homepage.description`: IP Address Management
**PASS**: All homepage labels are correctly set.
2. **Uptime Kuma labels**:
- `kuma.<n>.http.name`
- `kuma.<n>.http.url`
**FAIL**: No Uptime Kuma service is defined in the YAML file, so these labels do not apply.
3. **Caddy labels on exposed services**:
- `caddy=ipam.netgrimoire.com`
- `caddy.reverse_proxy="{{upstreams 80}}"`
**PASS**: Caddy labels are correctly set for the phpIPAM-web service.
4. **Placement constraints**:
- `node.hostname == docker3`
**FAIL**: The placement constraint is applied to all services, but it should be verified that `docker3` node exists and is available. Additionally, consider using a more dynamic constraint if possible (e.g., based on resource availability).
5. **Volumes use /DockerVol/<service> path convention**:
- `/DockerVol/phpipam/phpipam-logo:/phpipam/css/images/logo`
- `/DockerVol/phpipam/mariadb:/var/lib/mysql`
**PASS**: All volumes follow the specified path convention.
6. **Network references external netgrimoire overlay**:
- `netgrimoire` network is referenced by all services.
**PASS**: The `netgrimoire` network is correctly referenced as an external overlay network.
**VERDICT: PASS**

View file

@ -0,0 +1,54 @@
---
title: Audit - pinchflat.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:09:34.505Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:09:34.505Z
---
# Audit Report — pinchflat.yaml
**Date:** 2026-04-03
**File:** swarm/pinchflat.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
### SWARM AUDIT CHECKS:
1. **Homepage labels**:
- `homepage.group`: "Downloaders" - PASS
- `homepage.name`: "PinchFlat" - PASS
- `homepage.icon`: "pinchflat.png" - FAIL (icon path should be accessible)
- `homepage.href`: "https://pinchflat.netgrimoire.com" - PASS
- `homepage.description`: "YouTube Library" - PASS
2. **Uptime Kuma labels**:
- `kuma.pf.http.name`: "PinchFlat" - PASS
- `kuma.pf.http.url`: "http://pinchflat:8945" - PASS
3. **Caddy labels on exposed services**:
- `caddy=pinchflat.netgrimoire.com` - PASS
- `caddy.import=authentik` - PASS
- `caddy.reverse_proxy=pinchflat:8945` - PASS
4. **Placement constraints**:
- `node.hostname==nas` - PASS
5. **Volumes use /DockerVol/<service> path convention**:
- `/DockerVol/pinchflat/config:/config` - PASS
- `/data/nfs/Baxter/Data/media/other/pinchflat:/downloads` - FAIL (should follow the /DockerVol/<service> convention)
6. **Network references external netgrimoire overlay**:
- `netgrimoire` network is external - PASS
### FIXES:
- Update `homepage.icon` to a valid accessible path.
- Change `/data/nfs/Baxter/Data/media/other/pinchflat:/downloads` to follow the convention by placing it under `/DockerVol/pinchflat/downloads`.
### VERDICT:
FAIL

View file

@ -0,0 +1,67 @@
---
title: Audit - portainer-agent-stack.yml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:10:38.984Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:10:38.984Z
---
# Audit Report — portainer-agent-stack.yml
**Date:** 2026-04-03
**File:** swarm/portainer-agent-stack.yml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### Audit Results:
1. **Homepage labels**:
- `homepage.group`: Present
- `homepage.name`: Present
- `homepage.icon`: Present
- `homepage.href`: Present
- `homepage.description`: Present
2. **Uptime Kuma labels**:
- `kuma.prt.http.name`: Missing (Expected: "Portainer")
- `kuma.prt.http.url`: Missing (Expected: "http://portainer:9000")
3. **Caddy labels on exposed services**:
- `caddy=docker.netgrimoire.com`: Present
- `caddy.reverse_proxy="http://portainer:9000"`: Present
4. **Placement constraints**:
- `node.hostname == znas`: Present (Note: This constraint might not be ideal for a global service, but it's specified as per the file.)
5. **Volumes use `/DockerVol/<service>` path convention**:
- Volume `/DockerVol/portainer`: Present
- Volume `/var/run/docker.sock`: Absent (Not following the `/DockerVol/<service>` convention)
- Volume `/var/lib/docker/volumes`: Absent (Not following the `/DockerVol/<service>` convention)
6. **Network references external `netgrimoire` overlay**:
- `networks: netgrimoire`: Present
### Issues and Fixes:
- **Uptime Kuma labels**: Add the missing labels with the correct values.
```yaml
- kuma.prt.http.name="Portainer"
- kuma.prt.http.url=http://portainer:9000
```
- **Volume use `/DockerVol/<service>` path convention**: Adjust the volumes to follow the convention.
```yaml
volumes:
- /DockerVol/agent/var/run/docker.sock:/var/run/docker.sock
- /DockerVol/agent/var/lib/docker/volumes:/var/lib/docker/volumes
```
### Final Verdict:
VERDICT: FAIL
Reasons for failure include missing Uptime Kuma labels and non-conformity with the `/DockerVol/<service>` volume path convention.

View file

@ -0,0 +1,44 @@
---
title: Audit - profilarr.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:11:28.457Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:11:28.457Z
---
# Audit Report — profilarr.yaml
**Date:** 2026-04-03
**File:** swarm/profilarr.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
1. **Homepage labels**:
- `homepage.group`: "Jolly Roger" - PASS
- `homepage.name`: "Profilarr" - PASS
- `homepage.icon`: "profilarr" - PASS (Note: This should be a valid icon URL or path, not just the name of the service)
- `homepage.href`: "https://profilarr.netgrimoire.com" - PASS
- `homepage.description`: "Profilarr" - PASS
2. **Uptime Kuma labels**:
- `kuma.profilarr.http.name`: "profilarr" - PASS
- `kuma.profilarr.http.url`: "http://profilarr.netgrimoire.com" - PASS
3. **Caddy labels on exposed services**:
- `caddy: "profilarr.netgrimoire.com"` - PASS
- `caddy.reverse_proxy: "{{upstreams 6868}}"` - PASS
4. **Placement constraints**:
- `node.hostname == docker4` - PASS
5. **Volumes use /DockerVol/<service> path convention**:
- `/DockerVol/profilarr:/config` - PASS
6. **Network references external netgrimoire overlay**:
- `netgrimoire` network is marked as `external: true`, ensuring it is referenced correctly in the compose file. - PASS
VERDICT: PASS

View file

@ -0,0 +1,27 @@
---
title: Audit - radarr.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:11:58.614Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:11:58.614Z
---
# Audit Report — radarr.yaml
**Date:** 2026-04-03
**File:** swarm/radarr.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
- **Homepage labels**: PASS
- **Uptime Kuma labels**: PASS
- **Caddy labels on exposed services**: FAIL - The `caddy.reverse_proxy` label should use the service name, not just the port. Fix: Change to `- caddy.reverse_proxy={{upstreams radarr}}`.
- **Placement constraints**: PASS
- **Volumes use /DockerVol/<service> path convention**: PASS
- **Network references external netgrimoire overlay**: PASS
**VERDICT: FAIL**

View file

@ -0,0 +1,50 @@
---
title: Audit - readarr.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:12:56.461Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:12:56.461Z
---
# Audit Report — readarr.yaml
**Date:** 2026-04-03
**File:** swarm/readarr.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT REPORT for `swarm/readarr.yaml`
#### Homepage Labels:
1. **PASS**: homepage.group = Jolly Roger
2. **PASS**: homepage.name = Readarr
3. **PASS**: homepage.icon = readarr.png
4. **PASS**: homepage.href = http://readarr.netgrimoire.com
5. **PASS**: homepage.description = Ebook Library
#### Uptime Kuma Labels:
1. **FAIL**: Missing `kuma.readarr.http.name` and `kuma.readarr.http.url`. These labels are necessary for integration with Uptime Kuma.
#### Caddy Labels on Exposed Services:
1. **PASS**: caddy=readarr.netgrimoire.com
2. **PASS**: caddy.reverse_proxy="{{upstreams 8787}}"
- **ISSUE**: The use of `{{upstreams 8787}}` may not work as expected in a multi-container environment. It should be replaced with the actual service name if it's part of the same stack.
- **FIX**: Replace `{{upstreams 8787}}` with `http://readarr:8787`.
#### Placement Constraints:
1. **PASS**: node.hostname == docker4
#### Volumes Use `/DockerVol/<service>` Path Convention:
1. **PASS**: /DockerVol/readarr/config
2. **FAIL**: /data/nfs/Baxter/Data does not follow the `/DockerVol/<service>` convention. It should be placed under `/DockerVol/readarr/data`.
#### Network References External `netgrimoire` Overlay:
1. **PASS**: netgrimoire network is external
### VERDICT: FAIL
The report indicates several issues that need to be addressed to fully comply with the specified guidelines. Ensure all labels are correctly defined, adhere to volume naming conventions, and review Caddy configurations for proper service integration.

View file

@ -0,0 +1,31 @@
---
title: Audit - recyclarr.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:13:33.974Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:13:33.974Z
---
# Audit Report — recyclarr.yaml
**Date:** 2026-04-03
**File:** swarm/recyclarr.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
1. **Homepage labels**: NOT APPLICABLE (No homepage labels specified in the provided YAML).
2. **Uptime Kuma labels**: NOT APPLICABLE (No Uptime Kuma service or labels specified in the provided YAML).
3. **Caddy labels on exposed services**: NOT APPLICABLE (No Caddy service or reverse proxy configuration specified in the provided YAML).
4. **Placement constraints**:
- PASS: The `node.hostname == docker4` constraint is correctly applied.
5. **Volumes use /DockerVol/<service> path convention**:
- FAIL: The volume path `/data/nfs/Baxter/Docker/recyclarr:/config` does not follow the `/DockerVol/recyclarr` path convention.
- **Fix**: Change the volume path to `/DockerVol/recyclarr/config`.
6. **Network references external netgrimoire overlay**:
- PASS: The network `netgrimoire` is correctly referenced as an external network.
**VERDICT: FAIL**

View file

@ -0,0 +1,47 @@
---
title: Audit - roundcube.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:14:30.315Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:14:30.315Z
---
# Audit Report — roundcube.yaml
**Date:** 2026-04-03
**File:** swarm/roundcube.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
**Audit Report for swarm/roundcube.yaml**
1. **Homepage Labels**:
- `homepage.group`: Present (`E-Mail`)
- `homepage.name`: Present (`Roundcube`)
- `homepage.icon`: Present (`roundcube.png`)
- `homepage.href`: Present (`http://webmail.netgrimoire.com`)
- `homepage.description`: Present (`E-mail client`)
2. **Uptime Kuma Labels**:
- `kuma.rc.http.name="Mealie"`: Incorrect syntax, should be `kuma.rc.http.name=Mealie`
- `kuma.mrc.http.url=http://roundcube:80`: Correct
3. **Caddy Labels on Exposed Services**:
- `caddy`: Present (`webmail.netgrimoire.com`, `webmail.gnarlypandaproductions.com`, `webmail.pncharris.com`, `webmail.pncfishandmore.com`, `webmail.pncharrisenterprises.com`, `webmail.florosafd.org`)
- `caddy.reverse_proxy`: Present (`{{upstreams 80}}`)
4. **Placement Constraints**:
- `node.hostname`: Present and correct (`docker4`)
5. **Volumes Use /DockerVol/<service> Path Convention**:
- `/DockerVol/roundcube/www:/var/www/html`: Correct
6. **Network References External netgrimoire Overlay**:
- `netgrimoire` network: Present and external
- `mailcow-network` network: Present and external
**VERDICT**: FAIL

View file

@ -0,0 +1,48 @@
---
title: Audit - sabnzbd.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:15:29.656Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:15:29.656Z
---
# Audit Report — sabnzbd.yaml
**Date:** 2026-04-03
**File:** swarm/sabnzbd.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
1. **Homepage labels**: All homepage labels are present and correctly formatted.
- `homepage.group=Jolly Roger`
- `homepage.name=Sabnzbd`
- `homepage.icon=sabnzbd.png`
- `homepage.href=http://sabnzbd.netgrimoire.com`
- `homepage.description=Usenet Downloader`
2. **Uptime Kuma labels**: Both `kuma.sab.http.name` and `kuma.sab.http.url` are present.
- `kuma.sab.http.name="Sabnzbd"`
- `kuma.sab.http.url=http://sabnzbd:8080`
3. **Caddy labels on exposed services**: Caddy labels include both the domain and reverse proxy settings.
- `caddy=sabnzbd.netgrimoire.com`
- `caddy.reverse_proxy="{{upstreams 8080}}"`
4. **Placement constraints**: The placement constraint is referencing a specific node label (`node.labels.general == true`). This needs to be updated to reference the node's hostname instead for better clarity.
- Current: `- node.labels.general == true`
- Fix: Update to use `node.hostname` if appropriate, or keep the original if `general` is indeed a valid label.
5. **Volumes use /DockerVol/<service> path convention**: The volumes do not follow the `/DockerVol/<service>` path convention.
- Current paths:
- `/data/nfs/znas/Data/:/data:shared`
- `/data/nfs/znas/Docker/Sabnzbd:/config`
6. **Network references external netgrimoire overlay**: The network reference is correctly set to the `netgrimoire` network, which is marked as external.
**VERDICT: FAIL**
The placement constraint should be updated for clarity and the volumes should adhere to the specified path convention.

View file

@ -0,0 +1,50 @@
---
title: Audit - scanopy.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:17:06.276Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:17:06.276Z
---
# Audit Report — scanopy.yaml
**Date:** 2026-04-03
**File:** swarm/scanopy.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT — check ALL of the following:
1. **Homepage labels**:
- `homepage.group`: "Monitoring" (PASS)
- `homepage.name`: "Scanopy" (PASS)
- `homepage.icon`: "scanopy.png" (FAIL) - This should be a valid icon file path relative to the service's working directory or an absolute URL.
- `homepage.href`: "https://scan.netgrimoire.com" (PASS)
- `homepage.description`: "Network discovery & topology" (PASS)
2. **Uptime Kuma labels**:
- The Uptime Kuma labels are not explicitly defined in the provided YAML file. Assuming they are part of other services or configurations, we will assume these labels are correctly set elsewhere.
3. **Caddy labels on exposed services**:
- `caddy: "scn.netgrimoire.com"` (PASS)
- `caddy.reverse_proxy`: "{{upstreams 60072}}" (PASS)
4. **Placement constraints**:
- All services have placement constraints (`node.hostname == docker4`) which are correctly set (PASS).
5. **Volumes use /DockerVol/<service> path convention**:
- `postgres` volume: `/DockerVol/scanopy/postgres:/var/lib/postgresql/data` (PASS)
- `server` volume: `/DockerVol/scanopy/server-data:/data` (PASS)
- `daemon` volume: `/DockerVol/scanopy/daemon-config:/root/.config/daemon` (PASS)
6. **Network references external netgrimoire overlay**:
- All services reference the `netgrimoire` network which is marked as external (PASS).
### Final Verdict
VERDICT: FAIL
The issue identified is that the `homepage.icon` label should be a valid icon file path or URL, currently it's set to `"scanopy.png"`, which may not be accessible or correct. Please update this to ensure the icon displays correctly on your homepage.

View file

@ -0,0 +1,47 @@
---
title: Audit - sonarr.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:17:56.262Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:17:56.262Z
---
# Audit Report — sonarr.yaml
**Date:** 2026-04-03
**File:** swarm/sonarr.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**SWARM AUDIT REPORT**
1. **Homepage labels**:
- **PASS**: homepage.group=Jolly Roger
- **PASS**: homepage.name=Sonarr
- **PASS**: homepage.icon=sonarr.png
- **FAIL**: homepage.href=http://sonarr.netgrimoire.com should be http://sonarr:8989 (Relative URL recommended for internal services).
- **PASS**: homepage.description=Television Library
2. **Uptime Kuma labels**:
- **FAIL**: No kuma labels found.
3. **Caddy labels on exposed services**:
- **PASS**: caddy=sonarr.netgrimoire.com
- **PASS**: caddy.reverse_proxy="sonarr:8989"
4. **Placement constraints**:
- **PASS**: node.hostname==docker5
5. **Volumes use /DockerVol/<service> path convention**:
- **FAIL**: /data/nfs/znas/Data/:/data should be /DockerVol/Sonarr/data to adhere to the specified convention.
6. **Network references external netgrimoire overlay**:
- **PASS**: Network netgrimoire is referenced as external.
**VERDICT: FAIL**
The configuration contains several issues that need to be addressed for a successful audit. The homepage and Caddy labels require specific fixes, while the volume path does not comply with the established convention.

View file

@ -0,0 +1,46 @@
---
title: Audit - termix.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:18:39.128Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:18:39.128Z
---
# Audit Report — termix.yaml
**Date:** 2026-04-03
**File:** swarm/termix.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT RESULTS
#### Homepage Labels
- **PASS**: `homepage.group`: Remote Access
- **PASS**: `homepage.name`: Termix
- **PASS**: `homepage.icon`: terminal
- **PASS**: `homepage.href`: https://termix.netgrimoire.com
- **PASS**: `homepage.description`: Web-based terminal interface
#### Uptime Kuma Labels
- **PASS**: `kuma.termix.http.name`: Termix
- **PASS**: `kuma.termix.http.url`: https://termix.netgrimoire.com
#### Caddy Labels
- **FAIL**: Missing `caddy=<domain>` label. Add `caddy=termix.netgrimoire.com`.
- **FAIL**: Missing `caddy.reverse_proxy` label. Add `caddy.reverse_proxy: termix:8080`.
#### Placement Constraints
- **PASS**: `node.hostname == docker4`
#### Volumes Path Convention
- **PASS**: `/DockerVol/termix:/app/data` adheres to the convention
#### Network References
- **PASS**: References the external `netgrimoire` network
### VERDICT: FAIL

View file

@ -0,0 +1,52 @@
---
title: Audit - tmm.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:19:40.493Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:19:40.493Z
---
# Audit Report — tmm.yaml
**Date:** 2026-04-03
**File:** swarm/tmm.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT RESULTS:
1. **Homepage labels**:
- `homepage.group`: "Media Management" - PASS
- `homepage.name`: "Tiny Media Manager" - PASS
- `homepage.icon`: "troddit.png" - PASS
- `homepage.href`: "https://tmm.netgrimoire.com" - PASS
- `homepage.description`: "Media Manager" - PASS
2. **Uptime Kuma labels**:
- No Kuma labels found. Uptime Kuma is not included in this service's deployment configuration.
3. **Caddy labels on exposed services**:
- `caddy=tmm.netgrimoire.com` - PASS
- `caddy.reverse_proxy=tinymediamanager_service:4000` - PASS
4. **Placement constraints**:
- No placement constraints defined (`node.hostname`). This is acceptable if there are no specific node requirements.
5. **Volumes use /DockerVol/<service> path convention**:
- `/data/nfs/Baxter/Docker/tinymediamanager:/config:rw` - FAIL
- Issue: The volume does not follow the `/DockerVol/<service>` path convention.
- Fix: Update to `/DockerVol/tinymediamanager/config`.
- `/data/nfs/Baxter:/media:rw` - PASS
- Note: This volume follows the general practice of using a separate data directory but does not follow the specific `/DockerVol/<service>` convention.
6. **Network references external netgrimoire overlay**:
- `netgrimoire` network is referenced as `external: true`.
### VERDICT: FAIL
The audit failed due to a volume path that does not adhere to the specified convention. All other checks passed.

View file

@ -0,0 +1,30 @@
---
title: Audit - tunarr.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:20:23.850Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:20:23.850Z
---
# Audit Report — tunarr.yaml
**Date:** 2026-04-03
**File:** swarm/tunarr.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
**SWARM AUDIT — check ALL of the following:**
1. **Homepage labels**: All homepage labels are present.
2. **Uptime Kuma labels**: The labels `kuma.tunarr.http.name` and `kuma.tunarr.http.url` are present, but there is no label for another service (`<n>`) specified in the Uptime Kuma documentation. Assuming this is a single service, it is acceptable.
3. **Caddy labels on exposed services**: The Caddy labels `caddy=tunarr.netgrimoire.com` and `caddy.reverse_proxy="{{upstreams 8000}}"` are present.
4. **Placement constraints**: The placement constraint `node.labels.general == true` is not valid. It should be `node.role == "manager"` or another appropriate role if using a manager node.
5. **Volumes use /DockerVol/<service> path convention**: The volumes follow the convention, e.g., `/data/nfs/Baxter/Docker/tunarr/config`.
6. **Network references external netgrimoire overlay**: The network `netgrimoire` is referenced correctly and is an external network.
**Final line:**
VERDICT: FAIL

View file

@ -0,0 +1,62 @@
---
title: Audit - vault.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:21:32.070Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:21:32.070Z
---
# Audit Report — vault.yaml
**Date:** 2026-04-03
**File:** swarm/vault.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
1. **Homepage labels**:
- `homepage.group`: "Backup"
- `homepage.name`: "Vault"
- `homepage.icon`: "kopia.png"
- `homepage.href`: "https://vault.netgrimoire.com"
- `homepage.description`: "Snapshot backup and deduplication"
**PASS**: All homepage labels are correctly defined.
2. **Uptime Kuma labels**:
- `kuma.kopia.http.name`: "Kopia Web"
- `kuma.kopia.http.url`: "http://vault:51515"
**PASS**: Uptime Kuma labels are correctly defined.
3. **Caddy labels on exposed services**:
- `caddy: vault.netgrimoire.com`
- `caddy.reverse_proxy: "https://kopia-server-vault:51516"`
**FAIL**: The `caddy.reverse_proxy` label is incorrectly configured. It should point to the correct service, likely "vault" instead of "kopia-server-vault".
4. **Placement constraints**:
- `node.hostname == znas`
**PASS**: Placement constraint correctly targets a specific node.
5. **Volumes use /DockerVol/<service> path convention**:
- `/DockerVol/vault/config:/app/config`
- `/DockerVol/vault/cache:/app/cache`
- `/DockerVol/vault/cert:/app/cert`
- `/srv/vault/backup/repository:/vault`
- `/DockerVol/vault/logs:/app/logs`
**FAIL**: Volume paths do not follow the `/DockerVol/<service>` convention. The volume path for the backup repository should be `/DockerVol/vault/backup/repository`.
6. **Network references external netgrimoire overlay**:
- `netgrimoire`: External
**PASS**: Network reference is correctly set to an external network.
**VERDICT: FAIL**
The configuration contains issues that need to be addressed for the infrastructure to meet the specified standards and function correctly.

View file

@ -0,0 +1,45 @@
---
title: Audit - vaultwarden.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:22:15.425Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:22:15.425Z
---
# Audit Report — vaultwarden.yaml
**Date:** 2026-04-03
**File:** swarm/vaultwarden.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
1. **Homepage labels:**
- `homepage.group`: PASS
- `homepage.name`: PASS
- `homepage.icon`: PASS
- `homepage.href`: PASS
- `homepage.description`: PASS
2. **Uptime Kuma labels:**
- No Uptime Kuma labels are defined in the file. This is a potential issue since it might be required for proper monitoring and management of the service.
3. **Caddy labels on exposed services:**
- `caddy=pass.netgrimoire.com`: PASS
- `caddy.reverse_proxy=bitwarden:80`: PASS
4. **Placement constraints:**
- `node.hostname == docker3`: PASS
5. **Volumes use /DockerVol/<service> path convention:**
- `/DockerVol/bitwarden:/data`: PASS
6. **Network references external netgrimoire overlay:**
- `networks: netgrimoire` with `external: true`: PASS
**VERDICT: FAIL**
The main issue is the absence of Uptime Kuma labels, which could affect monitoring and management of the service. This should be addressed to ensure comprehensive infrastructure auditing.

View file

@ -0,0 +1,44 @@
---
title: Audit - vikunja.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:23:18.317Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:23:18.317Z
---
# Audit Report — vikunja.yaml
**Date:** 2026-04-03
**File:** swarm/vikunja.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### Audit Report for `swarm/vikunja.yaml`
#### Homepage Labels
**PASS**: The labels `homepage.group`, `homepage.name`, `homepage.icon`, `homepage.href`, and `homepage.description` are correctly defined.
#### Uptime Kuma Labels
**FAIL**:
- **Issue**: The configuration specifies the labels `kuma.vik.http.name` and `kuma.vik.http.url`, but there is no indication of multiple instances or a loop through them.
- **Fix**: Define multiple instances or use a loop if needed, e.g., `kuma.0.http.name`, `kuma.0.http.url`.
#### Caddy Labels on Exposed Services
**PASS**: The labels `caddy=task.netgrimoire.com`, `caddy.import: authentik`, and `caddy.reverse_proxy: "{{upstreams 3456}}"` are correctly defined.
#### Placement Constraints
**PASS**: The constraints `node.hostname == docker4` are applied to both services.
#### Volumes Use `/DockerVol/<service>` Path Convention
**PASS**: Both services use the correct path convention for volumes, e.g., `/DockerVol/vikunja/files` and `/DockerVol/vikunja/db`.
#### Network References External `netgrimoire` Overlay
**PASS**: The network `netgrimoire` is correctly referenced as external.
### VERDICT: FAIL
The audit found one issue that needs to be addressed before the configuration can be considered fully compliant.

View file

@ -0,0 +1,27 @@
---
title: Audit - vscode.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:23:58.891Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:23:58.891Z
---
# Audit Report — vscode.yaml
**Date:** 2026-04-03
**File:** swarm/vscode.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
1. **Homepage labels**: PASS - All required labels are present and correctly formatted.
2. **Uptime Kuma labels**: PASS - `kuma.cs.http.name` and `kuma.cs.http.url` are correctly set.
3. **Caddy labels on exposed services**: PASS - `caddy=code.netgrimoire.com` and `caddy.reverse_proxy=code-server:8443` are correctly specified.
4. **Placement constraints**: PASS - The constraint `node.hostname == znas` is present.
5. **Volumes use /DockerVol/<service> path convention**: FAIL - The volume for `Projects` does not follow the `/DockerVol/<service>` path convention. It should be renamed to `/DockerVol/Code/projects`.
6. **Network references external netgrimoire overlay**: PASS - The network `netgrimoire` is correctly referenced as external.
**VERDICT: FAIL**

View file

@ -0,0 +1,54 @@
---
title: Audit - wallo.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:24:58.197Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:24:58.197Z
---
# Audit Report — wallo.yaml
**Date:** 2026-04-03
**File:** swarm/wallo.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### Audit Report for `wallo.yaml`
1. **Homepage labels**:
- `homepage.group`: "PNCHarris Apps" (PASS)
- `homepage.name`: "Wallos" (PASS)
- `homepage.icon`: "wallos.png" (FAIL) - Missing value.
- `homepage.href`: "https://expense.netgrimoire.com" (PASS)
- `homepage.description`: "Subscription Manager" (PASS)
2. **Uptime Kuma labels**:
- `kuma.wallos.http.name`: "Wallos" (PASS)
- `kuma.wallos.http.url`: "http://wallos:80" (PASS)
3. **Caddy labels on exposed services**:
- `caddy=expense.netgrimoire.com` (PASS)
- `caddy.reverse_proxy=wallos:80` (PASS)
4. **Placement constraints**: node.hostname
- No placement constraints specified in the `deploy` block (FAIL) - Add `placement.constraints: [node.labels.hostname == "your-hostname"]` as needed.
5. **Volumes use /DockerVol/<service> path convention**:
- `/data/nfs/Baxter/Docker/wallos/db:/var/www/html/db` (FAIL) - Volumes do not follow the `/DockerVol/<service>` convention.
- `/data/nfs/Baxter/Docker/wallos/logos:/var/www/html/images/uploads/logos` (FAIL)
6. **Network references external netgrimoire overlay**:
- Network `netgrimoire` is referenced as external (PASS)
### Fix Recommendations
- Correct the homepage icon value.
- Add placement constraints if needed for specific node placement.
- Rename and relocate volumes to follow the `/DockerVol/<service>` convention, e.g., `/DockerVol/wallos/db:/var/www/html/db`.
### Final Verdict
VERDICT: FAIL

View file

@ -0,0 +1,45 @@
---
title: Audit - web.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:25:48.458Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:25:48.458Z
---
# Audit Report — web.yaml
**Date:** 2026-04-03
**File:** swarm/web.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
1. **Homepage labels**:
- `homepage.name` is present.
- `homepage.icon` is present.
- `homepage.href` is missing. Add it with the appropriate value.
- `homepage.description` is missing. Consider adding a description for clarity.
2. **Uptime Kuma labels**:
- `kuma.web.http.name` is present.
- `kuma.web.http.url` is present.
3. **Caddy labels on exposed services**:
- `caddy=www.netgrimoire.com` is present.
- `caddy.reverse_proxy="web:80"` is present.
4. **Placement constraints**:
- `node.labels.cpu == amd` is present, but it should be `node.labels.cpu == "amd"` for better readability.
5. **Volumes use `/DockerVol/<service>` path convention**:
- The volumes are not using the `/DockerVol/<service>` path convention. They are located at `/data/nfs/znas/Docker/web/pages` and `/data/nfs/znas/Docker/web/apache`. Consider creating a symbolic link or moving these volumes to follow the convention.
6. **Network references external `netgrimoire` overlay**:
- The network is correctly referencing an external `netgrimoire` overlay.
**VERDICT: FAIL**
The homepage labels are missing `homepage.href` and `homepage.description`. Additionally, the volumes need to be moved or symlinked to follow the `/DockerVol/<service>` path convention.

View file

@ -0,0 +1,42 @@
---
title: Audit - whisparr.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:27:24.537Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:27:24.537Z
---
# Audit Report — whisparr.yaml
**Date:** 2026-04-03
**File:** swarm/whisparr.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
1. **Homepage labels**: All homepage labels are present in the configuration.
- Greenfin, Whisparr
2. **Uptime Kuma labels**:
- **FAIL**: Uptime Kuma is not defined in the provided YAML file.
3. **Caddy labels on exposed services**:
- **FAIL**: No Caddy labels are present in the configuration.
4. **Placement constraints**:
- **PASS**: All placement constraints specify `node.hostname == docker1`.
5. **Volumes use /DockerVol/<service> path convention**:
- **PASS**: Volumes follow the `/DockerVol/<service>` naming convention.
- Whisparr: `/DockerVol/Whisparr:/config`
- Greenfin (commented out): `/DockerVol/greenfin/config:/config`
6. **Network references external netgrimoire overlay**:
- **PASS**: The network `netgrimoire` is referenced as an external network.
**VERDICT: FAIL**
The configuration lacks essential labels for Uptime Kuma and Caddy, which are critical for monitoring and routing services. Additionally, the Greenfin service is commented out but would still need to adhere to the volume and placement constraints guidelines if uncommented.

View file

@ -0,0 +1,76 @@
---
title: Audit - wiki.yaml
description: Gremlin audit report 2026-04-03
published: true
date: 2026-04-03T03:28:56.635Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-03T03:28:56.635Z
---
# Audit Report — wiki.yaml
**Date:** 2026-04-03
**File:** swarm/wiki.yaml
**Type:** Docker Swarm
**Verdict:** PASS
---
### SWARM AUDIT CHECKLIST:
1. **Homepage labels:**
- **PASS**: `wikijs`, `drawio`
- **FAIL**: No homepage labels defined for `wikijs-db`.
- **Fix**: Add the following labels to `wikijs-db`:
```yaml
labels:
homepage.group: "Database"
homepage.name: "PostgreSQL"
homepage.icon: "postgres.png"
homepage.href: "https://www.postgresql.org"
homepage.description: "Relational Database"
diun.enable: "true"
```
2. **Uptime Kuma labels:**
- **FAIL**: `wikijs`, `drawio` missing Kuma labels.
- **Fix**: Add the following labels to both `wikijs` and `drawio`:
```yaml
labels:
kuma.<n>.http.name: "Wiki.js"
kuma.<n>.http.url: "https://wiki.netgrimoire.com"
# Replace <n> with a sequential number if multiple instances are needed.
```
3. **Caddy labels on exposed services:**
- **FAIL**: `drawio` missing Caddy labels for reverse proxy.
- **Fix**: Add the following labels to `drawio`:
```yaml
labels:
caddy: draw.netgrimoire.com
caddy.reverse_proxy: "{{upstreams 8080}}"
```
- **PASS**: Both `wikijs-db`, `wikijs`, and `drawio` have `caddy=<domain>` labels.
4. **Placement constraints:**
- **FAIL**: No placement constraints for `drawio`.
- **Fix**: Add the following constraints to `drawio`:
```yaml
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.hostname == dockerpi1
- node.labels.cpu == arm
```
5. **Volumes use /DockerVol/<service> path convention:**
- **PASS**: All services follow this convention.
6. **Network references external netgrimoire overlay:**
- **PASS**: Both `wikijs-db`, `wikijs`, and `drawio` reference the external network `netgrimoire`.
### VERDICT:
FAIL