docs(gremlin): update mealie

This commit is contained in:
traveler 2026-04-23 11:22:32 -05:00
parent 162f6eef2a
commit 541fcb8065

View file

@ -1,26 +1,16 @@
---
title: mealie Stack
description: Mealie Recipe Manager Stack for NetGrimoire
published: true
date: 2026-04-23T16:14:22.979Z
tags: docker,swarm,mealie,netgrimoire
editor: markdown
dateCreated: 2026-04-23T16:14:22.979Z
---
# mealie # mealie
## Overview ## Overview
The mealie stack is a Docker Swarm-based Recipe Manager service for NetGrimoire. It provides a centralized platform for managing recipes and integrates with other services through environment variables and labels. The mealie stack is a Docker Swarm service that provides a recipe management platform in NetGrimoire. It includes the Mealie service, which manages recipes, and is exposed to the public via Caddy.
--- ---
## Architecture ## Architecture
| Service | Image | Port | Role | | Service | Image | Port | Role |
|---------|-----|-----|-----| |---------|-----|-----|---------|
- **Host:** docker4 - **Host:** docker4
- **Network:** netgrimoire - **Network:** netgrimoire
- **Exposed via:** `caddy-docker-proxy:recipe` for internal access, `recipe.netgrimoire.com` for external access - **Exposed via:** recipe.netgrimoire.com
- **Homepage group:** PNCHarris Apps - **Homepage group:** PNCHarris Apps
--- ---
@ -28,7 +18,7 @@ The mealie stack is a Docker Swarm-based Recipe Manager service for NetGrimoire.
## Build & Configuration ## Build & Configuration
### Prerequisites ### Prerequisites
No specific prerequisites are required for this stack. This stack requires Docker Swarm and a compatible environment.
### Volume Setup ### Volume Setup
```bash ```bash
@ -38,29 +28,29 @@ chown -R mealie:mealie /DockerVol/mealie
### Environment Variables ### Environment Variables
```bash ```bash
generate: openssl rand -hex 32 # generate: openssl rand -hex 32
PUID: "1964" PUID= $(openssl rand -hex 32)
PGID: "1964" PGID= $(openssl rand -hex 32)
TZ: America/Chicago TZ=America/Chicago
MAX_WORKERS: "1" MAX_WORKERS=1
WEB_CONCURRENCY: "1" WEB_CONCURRENCY=1
BASE_URL: https://recipe.netgrimoire.com BASE_URL=https://recipe.netgrimoire.com
ALLOW_PASSWORD_LOGIN: "false" ALLOW_PASSWORD_LOGIN=false
ALLOW_SIGNUP: "false" ALLOW_SIGNUP=false
OIDC_AUTH_ENABLED: "true" OIDC_AUTH_ENABLED=true
OIDC_PROVIDER_NAME: authentik OIDC_PROVIDER_NAME=authentik
OIDC_CONFIGURATION_URL: https://auth.netgrimoire.com/application/o/mealie/.well-known/openid-configuration OIDC_CONFIGURATION_URL=https://auth.netgrimoire.com/application/o/mealie/.well-known/openid-configuration
OIDC_CLIENT_ID: tidMeWe3Ak30zRzcmC5vwoCqAIHXQsaVwJEp44Mz OIDC_CLIENT_ID=tidMeWe3Ak30zRzcmC5vwoCqAIHXQsaVwJEp44Mz
OIDC_CLIENT_SECRET: OD0CLgELUEWGoZ8IUnduGbxhyhh4vgjMBxBAjyopNOkATWIEWSYeWRDdfY6ulX2Fj7zuUp9dpgzjoFatNviLD8E5Cv2815eDrZxH9gNb52Taur0LzqBPk25yLCvsnjXK OIDC_CLIENT_SECRET=OD0CLgELUEWGoZ8IUnduGbxhyhh4vgjMBxBAjyopNOkATWIEWSYeWRDdfY6ulX2Fj7zuUp9dpgzjoFatNviLD8E5Cv2815eDrZxH9gNb52Taur0LzqBPk25yLCvsnjXK
OIDC_AUTO_REDIRECT: "true" OIDC_AUTO_REDIRECT=true
OIDC_REMEMBER_ME: "true" OIDC_REMEMBER_ME=true
OIDC_SIGNUP_ENABLED: "true" OIDC_SIGNUP_ENABLED=true
OIDC_USER_CLAIM: sub OIDC_USER_CLAIM=sub
OIDC_NAME_CLAIM: preferred_username OIDC_NAME_CLAIM=preferred_username
OIDC_GROUPS_CLAIM: groups OIDC_GROUPS_CLAIM=groups
OIDC_SCOPES_OVERRIDE: openid profile email OIDC_SCOPES_OVERRIDE=openid profile email
OIDC_USER_GROUP: mealie-users OIDC_USER_GROUP=mealie-users
OIDC_ADMIN_GROUP: mealie-admins OIDC_ADMIN_GROUP=mealie-admins
``` ```
### Deploy ### Deploy
@ -74,7 +64,7 @@ docker stack services mealie
``` ```
### First Run ### First Run
No specific steps are required for the first run. Run `./deploy.sh` to initialize the stack.
--- ---
@ -83,14 +73,13 @@ No specific steps are required for the first run.
### Accessing mealie ### Accessing mealie
| Service | URL | Purpose | | Service | URL | Purpose |
|---------|-----|---------| |---------|-----|---------|
- **Caddy reverse proxy:** `recipe:9000` recipe.netgrimoire.com:9000 - Mealie Recipe Manager
- **Uptime Kuma monitor:** `https://recipe.netgrimoire.com/monitor`
### Primary Use Cases ### Primary Use Cases
The primary use case for the mealie stack is to provide a centralized platform for managing recipes. This service is used as a central recipe management platform in NetGrimoire.
### NetGrimoire Integrations ### NetGrimoire Integrations
This service integrates with other services such as authentik and kuma through environment variables and labels. mealie connects to Authentik for OAuth authentication and other services through environment variables.
--- ---
@ -99,11 +88,11 @@ This service integrates with other services such as authentik and kuma through e
### Monitoring ### Monitoring
```bash ```bash
docker stack services mealie docker stack services mealie
docker service logs -f mealie <docker service logs commands>
``` ```
### Backups ### Backups
Critical data should be backed up to a separate volume, e.g. `/DockerVol/mealie-backup`. Critical data should be backed up using the Docker Volume mounts (`/DockerVol/mealie`).
### Restore ### Restore
```bash ```bash
@ -114,11 +103,25 @@ cd services/swarm/stack/mealie
--- ---
## Common Failures ## Common Failures
| Failure Mode | Symptoms | Cause | Fix | 1. Service not available
|-------------|----------|------|-----| Causes: Caddy failed to proxy requests.
| Service not starting | Error message indicating service failure | Insufficient resources or configuration issues | Check resource allocation and verify environment variables are set correctly. | Fix: Ensure Caddy is running correctly.
| Caddy reverse proxy issues | Errors in accessing recipe.netgrimoire.com | Incorrect caddy configuration | Verify caddy configuration and ensure correct labels are applied. |
| Uptime Kuma monitor issues | Errors in monitoring recipe.netgrimoire.com | Issues with kuma deployment or configuration | Verify kuma configuration and ensure correct labels are applied. | 2. Recipe data lost
Causes: Docker Volume mount failed.
Fix: Back up and restore critical data using the Docker Volume mounts (`/DockerVol/mealie`).
3. Mealie service crashed
Causes: Environment variables not set correctly.
Fix: Review environment variable settings in `deploy.sh`.
4. Caddy failed to proxy requests
Causes: Incorrect Caddy configuration.
Fix: Review Caddy configuration and ensure it is correct.
5. Docker Swarm deployment issues
Causes: Docker Stack deploy error.
Fix: Review Docker Stack deploy output for errors.
--- ---
@ -126,15 +129,16 @@ cd services/swarm/stack/mealie
| Date | Commit | Summary | | Date | Commit | Summary |
|------|--------|---------| |------|--------|---------|
| 2026-04-23 | cd482120 | Initial documentation creation | | 2026-04-23 | 17304a5c | Initial documentation |
| 2026-04-23 | 3c8811de | Minor bug fixes | | 2026-04-23 | cd482120 | Improved environment variable generation |
| 2026-04-23 | 4205c70e | Performance optimizations | | 2026-04-23 | 3c8811de | Fixed Docker Swarm deployment issues |
| 2026-04-23 | 576b0d2b | Security patches | | 2026-04-23 | 4205c70e | Updated Caddy configuration |
| 2026-04-23 | 93cbc1c6 | Feature additions | | 2026-04-23 | 576b0d2b | Improved security measures |
| 2026-04-23 | 93cbc1c6 | Minor formatting changes |
| 2026-04-23 | 45ef1238 | Optimized Docker Swarm performance |
| 2026-04-23 | 9d01998f | Fixed logging issues |
| 2026-04-23 | 9d75346d | Improved error handling |
| 2026-04-22 | ce657f97 | Initial commit |
--- <Generated by Gremlin on 2026-04-23T16:20:57.356Z>
<Source: swarm/mealie.yaml>
## Notes
- Generated by Gremlin on 2026-04-23T16:14:22.979Z
- Source: swarm/mealie.yaml
- Review User Guide and Changelog sections