---
title: Audit - ntfy.yaml
description: Gremlin audit report 2026-04-13
published: true
date: 2026-04-13T11:27:07.071Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-13T11:27:07.071Z
---

# Audit Report — ntfy.yaml

**Date:** 2026-04-13  
**File:** swarm/ntfy.yaml  
**Type:** Docker Swarm  
**Verdict:** PASS

---

**SWARM AUDIT RESULTS**

1. **Homepage Labels:**
   - `homepage.group`: Services
   - `homepage.name`: ntfy
   - `homepage.icon`: ntfy.png
   - `homepage.href`: https://ntfy.netgrimoire.com
   - `homepage.description`: Push Notifications

**PASS**: All homepage labels are correctly configured.

2. **Uptime Kuma Labels:**
   - `kuma.ntfy.http.name`: ntfy
   - `kuma.ntfy.http.url`: https://ntfy.netgrimoire.com

**PASS**: Both Uptime Kuma labels are correctly configured.

3. **Caddy Labels on Exposed Services:**
   - `caddy: ntfy.netgrimoire.com`
   - `caddy.reverse_proxy: ntfy:80`

**PASS**: Caddy labels are correctly set for the exposed service.

4. **Placement Constraints:**
   - `node.platform.arch != aarch64`
   - `node.platform.arch != arm`

**PASS**: Placement constraints exclude specific architectures.

5. **Volumes Use `/DockerVol/<service>` Path Convention:**
   - Volumes are defined as:
     ```yaml
     - /data/nfs/znas/Docker/ntfy/cache:/var/cache/ntfy
     - /data/nfs/znas/Docker/ntfy/etc:/etc/ntfy
     ```

**FAIL**: Volumes do not follow the `/DockerVol/<service>` path convention. Instead, they are using a different directory structure (`/data/nfs/znas`). The correct format should be something like:
```yaml
- /DockerVol/ntfy/cache:/var/cache/ntfy
- /DockerVol/ntfy/etc:/etc/ntfy
```

6. **Network References External `netgrimoire` Overlay:**
   - Network is defined as:
     ```yaml
     networks:
       - netgrimoire
     ```
   - The network is marked as external.

**PASS**: The service references the correct external network.

**VERDICT:** FAIL