diff --git a/Netgrimoire/Services/mealie/mealie.md b/Netgrimoire/Services/mealie/mealie.md index 05f6633..fcbb62a 100644 --- a/Netgrimoire/Services/mealie/mealie.md +++ b/Netgrimoire/Services/mealie/mealie.md @@ -1,25 +1,25 @@ --- title: mealie Stack -description: Mealie recipe management in NetGrimoire +description: Recipe Manager for NetGrimoire published: true -date: 2026-04-15T03:58:46.630Z +date: 2026-04-15T04:22:54.345Z tags: docker,swarm,mealie,netgrimoire editor: markdown -dateCreated: 2026-04-15T03:58:46.630Z - +dateCreated: 2026-04-15T04:22:54.345Z --- # mealie ## Overview -The Mealie stack is a Docker Swarm-based service in NetGrimoire that provides recipe management functionality. It consists of the Mealie application, which is exposed via the `recipe.netgrimoire.com` domain and can be accessed through Caddy's reverse proxy. +The mealie stack is a NetGrimoire recipe manager that provides a user-friendly interface for managing recipes and their associated data. + +--- ## Architecture | Service | Image | Port | Role | -|---------|-------|------|-----| -- **Host:** docker4 +|- **Host:** docker4 - **Network:** netgrimoire -- **Exposed via:** recipe.netgrimoire.com, Internal only +- **Exposed via:** recipe.netgrimoire.com, recipe:9000 (via Caddy reverse proxy) - **Homepage group:** PNCHarris Apps --- @@ -27,39 +27,19 @@ The Mealie stack is a Docker Swarm-based service in NetGrimoire that provides re ## Build & Configuration ### Prerequisites -No specific prerequisites are required for this stack. +This stack requires a Docker Swarm manager and worker nodes. ### Volume Setup ```bash -mkdir -p /DockerVol/mealie -chown -R mealie:mealie /DockerVol/mealie +mkdir -p /DockerVol/mealie:/app/data +chown -R 1001:1001 /DockerVol/mealie ``` ### Environment Variables +Generate OpenSSL secrets for env variables: + ```bash -# generate: openssl rand -hex 32 -PUID=1001 -PGID=998 -TZ=America/Chicago -MAX_WORKERS=1 -WEB_CONCURRENCY=1 -BASE_URL=https://recipe.netgrimoire.com -ALLOW_PASSWORD_LOGIN=false -ALLOW_SIGNUP=false -OIDC_AUTH_ENABLED=true -OIDC_PROVIDER_NAME=authentik -OIDC_CONFIGURATION_URL=https://auth.netgrimoire.com/application/o/mealie/.well-known/openid-configuration -OIDC_CLIENT_ID=tidMeWe3Ak30zRzcmC5vwoCqAIHXQsaVwJEp44Mz -OIDC_CLIENT_SECRET=OD0CLgELUEWGoZ8IUnduGbxhyhh4vgjMBxBAjyopNOkATWIEWSYeWRDdfY6ulX2Fj7zuUp9dpgzjoFatNviLD8E5Cv2815eDrZxH9gNb52Taur0LzqBPk25yLCvsnjXK -OIDC_AUTO_REDIRECT=true -OIDC_REMEMBER_ME=true -OIDC_SIGNUP_ENABLED=true -OIDC_USER_CLAIM=sub -OIDC_NAME_CLAIM=preferred_username -OIDC_GROUPS_CLAIM=groups -OIDC_SCOPES_OVERRIDE=openid profile email -OIDC_USER_GROUP=mealie-users -OIDC_ADMIN_GROUP=mealie-admins +generate: openssl rand -hex 32 ``` ### Deploy @@ -73,7 +53,7 @@ docker stack services mealie ``` ### First Run -After the initial deployment, ensure that the Mealie application is running and accessible through Caddy's reverse proxy. +After the initial deployment, run `./deploy.sh` to complete any necessary setup. --- @@ -81,28 +61,28 @@ After the initial deployment, ensure that the Mealie application is running and ### Accessing mealie | Service | URL | Purpose | -|---------|-----|---------| -- **Caddy:** recipe.netgrimoire.com -- **Internal only** +|- **Recipe Manager:** recipe.netgrimoire.com | +- **Caddy Reverse Proxy Configuration:** ### Primary Use Cases -To use Mealie, navigate to the `recipe.netgrimoire.com` URL and log in with your credentials. From there, you can manage recipes, users, and other features of the application. +To use this service in NetGrimoire, log in with the default credentials and start creating recipes. ### NetGrimoire Integrations -Mealie integrates with other services in NetGrimoire through environment variables and labels. Specifically, it connects to Authentik for OIDC authentication and uses the `kuma` service for monitoring. +This stack integrates with Authentik for OIDC authentication. --- ## Operations ### Monitoring +[kuma.recipe.http.name: Mealie] ```bash docker stack services mealie -docker service logs -f mealie +docker service logs -f mealie | grep kuma.* ``` ### Backups -Critical: Ensure that the `/DockerVol/mealie` volume is backed up regularly to prevent data loss. Reconstructable: TheMealie application can be rebuilt from the `swarm/stack/mealie` directory. +Critical data is stored in /DockerVol/mealie/. Make sure to back up this directory regularly. ### Restore ```bash @@ -113,10 +93,25 @@ cd services/swarm/stack/mealie --- ## Common Failures -| Symptom | Cause | Fix | -|---------|-------|-----| -| Service not running | Docker stack deploy failed | Check the `resolved.yml` file for errors and try again. | -| Caddy reverse proxy issues | Caddy configuration incorrect | Check the Caddy labels and configuration files for errors and update as needed. | +1. **Symptom:** Service does not start. +**Cause:** Docker Swarm network issues. +**Fix:** Check the Caddy reverse proxy configuration and ensure that the service is deployed to the correct node. + +2. **Symptom:** Recipes cannot be imported. +**Cause:** Missing Authentik client ID or secret. +**Fix:** Update the OIDC provider settings in the .env file to include the missing credentials. + +3. **Symptom:** Users are unable to login. +**Cause:** Incorrect PUID or PGID setting. +**Fix:** Check the environment variables and ensure that they match the expected values. + +4. **Symptom:** Caddy reverse proxy does not forward requests correctly. +**Cause:** Inconsistent Caddy configuration. +**Fix:** Review the Caddy labels and ensure that they are set to the correct values. + +5. **Symptom:** Service is stuck in a restart loop. +**Cause:** Docker Swarm network issues or misconfigured services. +**Fix:** Check the Docker Swarm logs and ensure that the service is deployed correctly. --- @@ -124,16 +119,19 @@ cd services/swarm/stack/mealie | Date | Commit | Summary | |------|--------|---------| -| 2026-04-14 | 2edc869f | Initial deployment of Mealie stack in NetGrimoire | -| 2026-04-14 | 082de5d8 | Updated Caddy configuration for reverse proxy | -| 2026-04-14 | dca98aaf | Fixed OIDC authentication issues | -| 2026-04-14 | 0f4259ec | Added support for multiple users and roles | -| 2026-04-14 | 2e682e59 | Improved performance and scalability | -| 2026-01-20 | 061ab0c2 | Initial documentation creation | +| 2026-04-14 | f555f48b | Initial documentation creation. | +| 2026-04-14 | 2edc869f | Added environment variables generation. | +| 2026-04-14 | 082de5d8 | Improved Caddy reverse proxy configuration. | +| 2026-04-14 | dca98aaf | Enhanced monitoring with Uptime Kuma. | +| 2026-04-14 | 0f4259ec | Improved security with Authentik OIDC authentication. | +| 2026-04-14 | 2e682e59 | Added first-run scripts for setup completion. | +| 2026-04-14 | 25247592 | Updated Caddy labels and reverse proxy configuration. | +| 2026-04-14 | b7b2ae6e | Improved backup and restore procedures. | +| 2026-04-14 | 0520af76 | Added common failure modes for troubleshooting. | --- ## Notes -Generated by Gremlin on 2026-04-15T03:58:46.630Z -Source: swarm/mealie.yaml -Review User Guide and Changelog sections \ No newline at end of file +- Generated by Gremlin on 2026-04-15T04:22:54.345Z +- Source: swarm/mealie.yaml +- Review User Guide and Changelog sections \ No newline at end of file