Netgrimoire/Netgrimoire/Audits/mealie-2026-05-04.md

65 lines
No EOL
1.9 KiB
Markdown

---
title: Audit - mealie.yaml
description: Gremlin audit report 2026-05-04
published: true
date: 2026-05-04T11:26:48.394Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-05-04T11:26:48.394Z
---
# Audit Report — mealie.yaml
**Date:** 2026-05-04
**File:** swarm/mealie.yaml
**Type:** Docker Swarm
**Verdict:** FAIL
---
### SWARM AUDIT REPORT
1. **Homepage labels**:
- **PASS**: `homepage.group`: PNCHarris Apps, `homepage.name`: Mealie, `homepage.icon`: mealie.png, `homepage.href`: https://recipe.netgrimoire.com, `homepage.description`: Recipe Manager.
2. **Uptime Kuma labels**:
- **FAIL**: No Uptime Kuma service is present in the file. Add a Uptime Kuma service to include these labels.
```yaml
uptime_kuma:
image: lscr.io/linuxserver/uptime-kuma:latest
ports:
- "8081:80"
volumes:
- /DockerVol/uptime_kuma:/config
networks:
- netgrimoire
deploy:
placement:
constraints:
- node.hostname == docker4
labels:
kuma.1.http.name: uptime-kuma
kuma.1.http.url: http://localhost:8081
```
3. **Caddy labels on exposed services**:
- **PASS**: `caddy=recipe.netgrimoire.com`, `caddy.reverse_proxy`: recipe:9000.
4. **Placement constraints**:
- **FAIL**: The constraint `node.hostname == docker4` is overly restrictive and may not be available in all environments. Consider more flexible options like `node.role == manager`.
```yaml
deploy:
placement:
constraints:
- node.platform.arch != aarch64
- node.platform.arch != arm
- node.role == manager
```
5. **Volumes use /DockerVol/<service> path convention**:
- **PASS**: All volumes follow the `/DockerVol/mealie` path convention.
6. **Network references external netgrimoire overlay**:
- **PASS**: The `netgrimoire` network is correctly referenced as an external network.
### VERDICT: FAIL