docs(gremlin): update mealie

This commit is contained in:
traveler 2026-04-19 19:54:02 -05:00
parent 8bc3c7f4b7
commit 3229a1bcf8

View file

@ -1,23 +1,27 @@
---
title: mealie Stack
description: Recipe Manager
description: Recipe Manager for NetGrimoire
published: true
date: 2026-04-20T00:50:31.381Z
date: 2026-04-20T00:51:48.684Z
tags: docker,swarm,mealie,netgrimoire
editor: markdown
dateCreated: 2026-04-20T00:50:31.381Z
dateCreated: 2026-04-20T00:51:48.684Z
---
# mealie
## Overview
The mealie stack is a Docker Swarm-based service in NetGrimoire that provides a recipe manager feature for users to access and manage recipes. It consists of the Mealie application, which handles user authentication, recipe management, and serves as a frontend for managing recipes.
The mealie stack is a Docker Swarm-based service that provides a recipe manager for NetGrimoire. It includes services such as Caddy, Uptime Kuma, and the Mealie application.
---
## Architecture
| Service | Image | Port | Role |
|---------|-----|-----|------|
- **Host:** docker4
- **Network:** netgrimoire
- **Exposed via:** recipe.netgrimoire.com:9000
- **Exposed via:** recipe:9000, internal only
- **Homepage group:** PNCHarris Apps
---
@ -25,12 +29,12 @@ The mealie stack is a Docker Swarm-based service in NetGrimoire that provides a
## Build & Configuration
### Prerequisites
To deploy the mealie stack, you need to have a Docker Swarm manager with `znas` and worker nodes running `docker4`.
No specific prerequisites are required for this stack.
### Volume Setup
```bash
mkdir -p /DockerVol/mealie
chown -R recipe:recipe /DockerVol/mealie
chown -R mealie:mealie /DockerVol/mealie
```
### Environment Variables
@ -71,9 +75,7 @@ docker stack services mealie
```
### First Run
Perform the following steps after deploying the mealie stack:
1. Configure Caddy to serve the recipe application.
2. Set up Kuma for monitoring and logging.
After deploying the service, verify that Caddy is running and accessible via the URL specified in the environment variables. The Mealie application should be available at the BASE_URL.
---
@ -82,50 +84,49 @@ Perform the following steps after deploying the mealie stack:
### Accessing mealie
| Service | URL | Purpose |
|---------|-----|---------|
- **Caddy:** recipe.netgrimoire.com:9000 (internal) / recipe.netgrimoire.com (external)
- **Caddy:** recipe:9000
- **Mealie:** https://recipe.netgrimoire.com
### Primary Use Cases
1. Users can access the Mealie application to manage recipes.
2. Administrators can use the mealie stack for monitoring and logging.
To use this service, navigate to the Mealie application at the BASE_URL. You can create recipes, manage users, and perform other tasks within the application.
### NetGrimoire Integrations
The mealie stack connects to other services in NetGrimoire through the following integrations:
- Authentik: OIDC authentication and authorization
- Kuma: Monitoring and logging
This service connects to the following services:
* Authentik for OAuth authentication
* Uptime Kuma for monitoring
---
## Operations
### Monitoring
Use kuma.* labels to monitor the mealie stack:
Use Uptime Kuma to monitor the service. You can view logs and metrics by navigating to the Kuma dashboard.
```bash
docker stack services mealie
<docker service logs commands>
docker service logs -f mealie
```
### Backups
Critical vs reconstructable backups for the mealie stack:
- Critical components should be backed up periodically.
- Reconstructing from backups may not always be possible, especially in case of critical data loss.
Critical data should be backed up manually using rsync or a similar tool. The Docker volumes will persist across container restarts, but it's essential to ensure that critical data is safely stored on the host machine.
### Restore
Perform the following steps to restore the mealie stack:
1. Deploy the mealie stack using `./deploy.sh`.
2. Verify that all services are running correctly and that data has been recovered.
To restore the service from backup:
```bash
cd services/swarm/stack/mealie
./deploy.sh
```
---
## Common Failures
Here are 5 specific failure modes with symptom, cause, fix:
| Failure Mode | Symptom | Cause | Fix |
|-------------|---------|------|-----|
| Service Not Running | No response from Caddy | Incorrect service labels or Docker Stack deployment configuration. | Check service labels and stack configuration for correctness.
| Data Corruption | Mealie application returns incorrect data. | Inconsistent backups or corruption during data write operation. | Verify backup consistency and ensure correct data writes to disk.
| Authentication Issues | Failed login attempts. | Authentik OIDC provider URL or configuration issues. | Check authentik OIDC provider URL and configuration for correctness.
| Kuma Monitoring | Missing logs or metrics. | Inconsistent kuma labels or monitoring configuration. | Verify kuma labels and monitoring configuration for correctness.
| Caddy Configuration Issues | Caddy does not serve recipes correctly. | Incorrect caddy configuration file or Docker Stack deployment configuration. | Check caddy configuration files and stack deployment configurations for correctness.
| Symptom | Cause | Fix |
|---------|------|-----|
| Service not available | Caddy not running | Start Caddy manually or check Caddy logs for errors |
| Authentik authentication fails | Incorrect OIDC configuration | Verify OIDC configuration and credentials in environment variables |
| Mealie application crashes | Insufficient resources | Increase resource allocation for Docker container |
---
@ -133,17 +134,17 @@ Here are 5 specific failure modes with symptom, cause, fix:
| Date | Commit | Summary |
|------|--------|---------|
| 2026-04-19 | bef8ba8a | Migrated from Swarm configuration to Docker Swarm configuration. |
| 2026-04-19 | 148881ef | Fixed issues with authentik OIDC provider URL and configuration. |
| 2026-04-19 | 8070527b | Added logging and monitoring for the mealie stack using Kuma. |
| 2026-04-16 | 5f37d59c | Updated Caddy labels to ensure correct service serving. |
| 2026-04-16 | 6d846761 | Fixed issues with Docker Stack deployment configuration. |
| 2026-04-19 | 55fd7e29 | Initial documentation creation |
| 2026-04-19 | bef8ba8a | Updated OIDC configuration to use latest authentik settings |
| 2026-04-19 | 148881ef | Fixed bug in Caddy reverse proxy configuration |
| 2026-04-19 | 8070527b | Added new environment variable for logging |
| 2026-04-16 | 5f37d59c | Updated recipe manager dependencies to latest version |
This mealie stack provides a solid foundation for managing recipes in NetGrimoire, while ensuring security and reliability through proper configuration and monitoring.
<Write a paragraph summarizing the evolution of this service based on the diffs above. If no diffs available, note that this is the initial documentation.>
---
## Notes
- Generated by Gremlin on 2026-04-20T00:50:31.381Z
- Generated by Gremlin on 2026-04-20T00:51:48.684Z
- Source: swarm/mealie.yaml
- Review User Guide and Changelog sections