====== Mealie ======
[[https://mealie.io/|Mealie]] is an intuitive and easy to use recipe management app. It's designed to make your life easier by being the best recipes management experience on the web and providing you with an easy to use interface to manage your growing collection of recipes.
===== Installation =====
So, as usual create the user and data folders:
useradd -d /data/daemons/mealie -m mealie
mkdir /data/mealie
chown mealie:mealie /data/mealie
su - mealie
Create the following docker-compose.yml:
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:v2.6.0 #
container_name: mealie
restart: always
ports:
- "9925:9000"
deploy:
resources:
limits:
memory: 1000M
volumes:
- /data/mealie:/app/data/
environment:
# Set Backend ENV Variables Here
ALLOW_SIGNUP: "false"
PUID: 1000
PGID: 1000
TZ: Europe/Rome
BASE_URL: https://recepies.mydomain.com/
network:
- mealie-net
networks:
mealie-net: {}
Remember to set an available port (9925)!
Now pull it:
podman compose pull
While Mealie could be setup with SSO, i didnt do that yet.
===== Reverse Proxy =====
Mealie must be run in a subdomain. I assume it will be reachable as **https://recepies.mydomain.com**.
Create a NGINX config file called **/etc/nginx/com.mydomain/mealie/mealie.conf** like this:
server {
server_name recepies.mydomain.com;
listen 443 ssl;
listen 8443 ssl;
access_log /var/log/nginx/recepies.mydomain.com_access_log main;
error_log /var/log/nginx/recepies.mydomain.com_error_log info;
location / {
proxy_pass http://127.0.0.1:9925;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto $scheme;
}
client_max_body_size 100M;
}
and add it to your NGINX configuration. See [[selfhost:nginx|The Reverse Proxy concept]] for more details.
===== Autostart =====
To start it, and set it up on boot, as usual follow my indications [[gentoo:containers|Using Containers on Gentoo]], so link the **user-containers** init script:
ln -s /etc/init.d/user-containers /etc/init.d/user-containers.mealie
and create the following config file:
USER=mealie
DESCRIPTION="The receipes manager"
Add the service to the default runlevel and start it now:
rc-update add user-containers.mealie default
rc-service user-containers.mealie start