- collect-compose.yml: Fetches all compose files from docker_hosts - collect-env-templates.yml: Creates .env.example with secrets redacted - deploy-compose.yml: Pushes compose files to hosts (with optional restart) - diff-compose.yml: Shows differences before deploying Collected 23 compose files from 7 hosts: - replicant: 12 stacks (arr-stack, mealie, portainer, etc) - docker666: 4 stacks (unifi, gluetun, uptime, utils) - databases: 3 stacks (postgres, forgejo, utils) - download-stack: 2 stacks (download-stack, utils) - media-transcode: 1 stack (utils) - network-services: 1 stack (utils) - immich: 1 stack (utils)
106 lines
2.8 KiB
YAML
106 lines
2.8 KiB
YAML
# ~/docker/appdata/mealie/docker-compose.yml
|
|
# Mealie - Recipe manager with PostgreSQL backend
|
|
# Migrated from alien to replicant
|
|
|
|
services:
|
|
mealie:
|
|
image: ghcr.io/mealie-recipes/mealie:latest
|
|
container_name: mealie
|
|
restart: unless-stopped
|
|
depends_on:
|
|
mealie_postgres:
|
|
condition: service_healthy
|
|
ports:
|
|
- "9925:9000"
|
|
environment:
|
|
# User/System
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=America/New_York
|
|
# Application
|
|
- BASE_URL=https://food.3ddbrewery.com
|
|
- ALLOW_SIGNUP=false
|
|
- AUTO_BACKUP_ENABLED=true
|
|
- API_PORT=9000
|
|
- TOKEN_TIME=720
|
|
# PostgreSQL
|
|
- DB_ENGINE=postgres
|
|
- POSTGRES_USER=mealie
|
|
- POSTGRES_PASSWORD=stale-swindle-marrow-equation
|
|
- POSTGRES_SERVER=mealie_postgres
|
|
- POSTGRES_PORT=5432
|
|
- POSTGRES_DB=mealie
|
|
# SMTP
|
|
- SMTP_HOST=smtp.gmail.com
|
|
- SMTP_PORT=587
|
|
- SMTP_AUTH_STRATEGY=TLS
|
|
- SMTP_FROM_NAME=Mealie
|
|
- SMTP_FROM_EMAIL=xoppaw@gmail.com
|
|
- SMTP_USER=xoppaw@gmail.com
|
|
- SMTP_PASSWORD=tgkyhtjozefgsxsj
|
|
# AI (Ollama)
|
|
- OPENAI_BASE_URL=http://192.168.1.245:11434/v1
|
|
- OPENAI_API_KEY=56
|
|
- OPENAI_MODEL=tinyllama
|
|
- OPENAI_SEND_DATABASE_DATA=true
|
|
- OIDC_AUTH_ENABLED=true
|
|
- OIDC_SIGNUP_ENABLED=true
|
|
- OIDC_CONFIGURATION_URL=https://id.3ddbrewery.com/application/o/mealie/.well-known/openid-configuration
|
|
- OIDC_CLIENT_ID=${OIDC_CLIENT_ID}
|
|
- OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET}
|
|
- OIDC_PROVIDER_NAME=Authentik
|
|
- OIDC_AUTO_REDIRECT=false
|
|
- OIDC_REMEMBER_ME=true
|
|
- FORWARDED_ALLOW_IPS=*
|
|
volumes:
|
|
- ./:/app/data
|
|
networks:
|
|
- proxy
|
|
- database
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '2'
|
|
memory: 1G
|
|
reservations:
|
|
memory: 256M
|
|
labels:
|
|
# Homepage
|
|
- "homepage.group=Services"
|
|
- "homepage.name=Mealie"
|
|
- "homepage.icon=mealie.png"
|
|
- "homepage.href=https://food.3ddbrewery.com"
|
|
- "homepage.description=Recipe manager"
|
|
|
|
mealie_postgres:
|
|
image: postgres:15
|
|
container_name: mealie_postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
- POSTGRES_USER=mealie
|
|
- POSTGRES_PASSWORD=stale-swindle-marrow-equation
|
|
- POSTGRES_DB=mealie
|
|
- TZ=America/New_York
|
|
volumes:
|
|
- ./postgres:/var/lib/postgresql/data
|
|
networks:
|
|
- database
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '1'
|
|
memory: 512M
|
|
reservations:
|
|
memory: 128M
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U mealie -d mealie"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
command: postgres -c listen_addresses='*'
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
database:
|
|
external: true
|