Initial mealie recipe

This commit is contained in:
Mac Chaffee 2025-05-23 17:59:34 -04:00
parent 6a5c34b28b
commit 6ef71e8e9b
3 changed files with 40 additions and 24 deletions

View File

@ -1,8 +1,16 @@
TYPE=mealie
DOMAIN=mealie.example.com
## Domain aliases
#EXTRA_DOMAINS=', `www.mealie.example.com`'
COMPOSE_FILE="compose.yml"
LETS_ENCRYPT_ENV=production
## All config: https://docs.mealie.io/documentation/getting-started/installation/backend-config/
ALLOW_SIGNUP=false
# LOG_LEVEL=info
# TOKEN_TIME=8765
# TZ=UTC
## Mealie will make you create a real admin account on first login, then this setting can be ignored
# DEFAULT_USERNAME=changeme@example.com
# DEFAULT_PASSWORD=MyPassword

View File

@ -1,24 +1,26 @@
# mealie
> One line description of the recipe
> Mealie is a self-hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family.
<!-- metadata -->
* **Category**: Apps
* **Status**: 0
* **Image**: [`mealie`](https://hub.docker.com/r/mealie), 4, upstream
* **Healthcheck**: No
* **Backups**: No
* **Email**: No
* **Status**: 5
* **Image**: [`mealie`](https://github.com/mealie-recipes/mealie/pkgs/container/mealie), 4, upstream
* **Healthcheck**: Yes
* **Backups**: Yes
* **Email**: Yes
* **Tests**: No
* **SSO**: No
* **SSO**: Yes
<!-- endmetadata -->
## Quick start
* `abra app new mealie --secrets`
* `abra app new mealie`
* `abra app config <app-name>`
* `abra app deploy <app-name>`
For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech).
After deploying, navigate to `<app-name>` and perform the first-time setup using the default credentials documented here: https://docs.mealie.io/documentation/getting-started/installation/installation-checklist/#step-4-startup
For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech) and [`docs.mealio.io`](https://docs.mealie.io/).

View File

@ -3,30 +3,36 @@ version: "3.8"
services:
app:
image: nginx:1.20.0
image: ghcr.io/mealie-recipes/mealie:v2.8.0
networks:
- proxy
volumes:
- mealie-data:/app/data/
deploy:
restart_policy:
condition: on-failure
labels:
- "traefik.enable=true"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=9000"
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
## Redirect from EXTRA_DOMAINS to DOMAIN
#- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectscheme.permanent=true"
- "coop-cloud.${STACK_NAME}.version="
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 30s
timeout: 10s
retries: 10
start_period: 1m
- "backupbot.backup=true"
- "backupbot.backup.path=/app/data/"
# Upstream dockerfile specifies a healthcheck
environment:
- BASE_URL=${DOMAIN}
- DB_ENGINE=sqlite
# Upstream mistakenly adds the user to 1000 instead of 911
- PGID=1000
networks:
proxy:
external: true
volumes:
mealie-data: