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 title: mealie Stack
description: Recipe Manager description: Recipe Manager for NetGrimoire
published: true published: true
date: 2026-04-20T00:50:31.381Z date: 2026-04-20T00:51:48.684Z
tags: docker,swarm,mealie,netgrimoire tags: docker,swarm,mealie,netgrimoire
editor: markdown editor: markdown
dateCreated: 2026-04-20T00:50:31.381Z dateCreated: 2026-04-20T00:51:48.684Z
--- ---
# mealie # mealie
## Overview ## 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 ## Architecture
| Service | Image | Port | Role | | Service | Image | Port | Role |
|---------|-----|-----|------|
- **Host:** docker4 - **Host:** docker4
- **Network:** netgrimoire - **Network:** netgrimoire
- **Exposed via:** recipe.netgrimoire.com:9000 - **Exposed via:** recipe:9000, internal only
- **Homepage group:** PNCHarris Apps - **Homepage group:** PNCHarris Apps
--- ---
@ -25,12 +29,12 @@ The mealie stack is a Docker Swarm-based service in NetGrimoire that provides a
## Build & Configuration ## Build & Configuration
### Prerequisites ### 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 ### Volume Setup
```bash ```bash
mkdir -p /DockerVol/mealie mkdir -p /DockerVol/mealie
chown -R recipe:recipe /DockerVol/mealie chown -R mealie:mealie /DockerVol/mealie
``` ```
### Environment Variables ### Environment Variables
@ -71,9 +75,7 @@ docker stack services mealie
``` ```
### First Run ### First Run
Perform the following steps after deploying the mealie stack: 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.
1. Configure Caddy to serve the recipe application.
2. Set up Kuma for monitoring and logging.
--- ---
@ -82,50 +84,49 @@ Perform the following steps after deploying the mealie stack:
### Accessing mealie ### Accessing mealie
| Service | URL | Purpose | | Service | URL | Purpose |
|---------|-----|---------| |---------|-----|---------|
- **Caddy:** recipe.netgrimoire.com:9000 (internal) / recipe.netgrimoire.com (external) - **Caddy:** recipe:9000
- **Mealie:** https://recipe.netgrimoire.com
### Primary Use Cases ### Primary Use Cases
1. Users can access the Mealie application to manage recipes. 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.
2. Administrators can use the mealie stack for monitoring and logging.
### NetGrimoire Integrations ### NetGrimoire Integrations
The mealie stack connects to other services in NetGrimoire through the following integrations: This service connects to the following services:
- Authentik: OIDC authentication and authorization
- Kuma: Monitoring and logging * Authentik for OAuth authentication
* Uptime Kuma for monitoring
--- ---
## Operations ## Operations
### Monitoring ### 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 ```bash
docker stack services mealie docker stack services mealie
<docker service logs commands> docker service logs -f mealie
``` ```
### Backups ### Backups
Critical vs reconstructable backups for the mealie stack: 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.
- Critical components should be backed up periodically.
- Reconstructing from backups may not always be possible, especially in case of critical data loss.
### Restore ### Restore
Perform the following steps to restore the mealie stack: To restore the service from backup:
1. Deploy the mealie stack using `./deploy.sh`. ```bash
2. Verify that all services are running correctly and that data has been recovered. cd services/swarm/stack/mealie
./deploy.sh
```
--- ---
## Common Failures ## Common Failures
Here are 5 specific failure modes with symptom, cause, fix:
| Failure Mode | Symptom | Cause | Fix | | 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. | Service not available | Caddy not running | Start Caddy manually or check Caddy logs for errors |
| 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. | Authentik authentication fails | Incorrect OIDC configuration | Verify OIDC configuration and credentials in environment variables |
| Authentication Issues | Failed login attempts. | Authentik OIDC provider URL or configuration issues. | Check authentik OIDC provider URL and configuration for correctness. | Mealie application crashes | Insufficient resources | Increase resource allocation for Docker container |
| 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.
--- ---
@ -133,17 +134,17 @@ Here are 5 specific failure modes with symptom, cause, fix:
| Date | Commit | Summary | | Date | Commit | Summary |
|------|--------|---------| |------|--------|---------|
| 2026-04-19 | bef8ba8a | Migrated from Swarm configuration to Docker Swarm configuration. | | 2026-04-19 | 55fd7e29 | Initial documentation creation |
| 2026-04-19 | 148881ef | Fixed issues with authentik OIDC provider URL and configuration. | | 2026-04-19 | bef8ba8a | Updated OIDC configuration to use latest authentik settings |
| 2026-04-19 | 8070527b | Added logging and monitoring for the mealie stack using Kuma. | | 2026-04-19 | 148881ef | Fixed bug in Caddy reverse proxy configuration |
| 2026-04-16 | 5f37d59c | Updated Caddy labels to ensure correct service serving. | | 2026-04-19 | 8070527b | Added new environment variable for logging |
| 2026-04-16 | 6d846761 | Fixed issues with Docker Stack deployment configuration. | | 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 ## 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 - Source: swarm/mealie.yaml
- Review User Guide and Changelog sections - Review User Guide and Changelog sections