Installation
Installation von Mealie.io mit derPostgreSQL
PostgreSQl
Docker-compose.Compose.yaml im Überblick:berblick
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:v2.8.0
#
container_name: mealie
restart: always
ports:
- "9925:9000"
#
deploy:
resources:
limits:
memory: 1000M #
volumes:
- mealie-data:/app/data/
environment:
# Set Backend ENV Variables Here
ALLOW_SIGNUP: "false"
PUID: 1000
PGID: 1000
TZ: America/Anchorage
BASE_URL: https://mealie.yourdomain.com
# Database Settings
DB_ENGINE: postgres
POSTGRES_USER: mealie
POSTGRES_PASSWORD: mealie
POSTGRES_SERVER: postgres
POSTGRES_PORT: 5432
POSTGRES_DB: mealie
depends_on:
postgres:
condition: service_healthy
postgres:
container_name: postgres
image: postgres:15
restart: always
volumes:
- mealie-pgdata:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: mealie
POSTGRES_USER: mealie
PGUSER: mealie
healthcheck:
test: ["CMD", "pg_isready"]
interval: 30s
timeout: 20s
retries: 3
volumes:
mealie-data:
mealie-pgdata:
Erklärung der wichtigsten Konfigurationen
Hauptanwendung mealie:
-
DasImage:Docker-compose.ymal ist wie folgt aufgebaut:Hauptanwendung:services:mealie: image:ghcr.io/mealie-recipes/mealie:v2.8.0→
Nutzt dasDocker-ImagevonVerwendet Mealie in Versionv2.8.0ausdemder GitHub Container Registry. -
Container Name:
container_name:mealie→ Setzt den Namen des
ContainersContainers.auf -
Restart Policy:
mealie.restart:always→ Container wird bei Fehlern oder Neustarts automatisch neu
gestartet, wenn er abstürzt oder das System neugestartet wird.gestartet. -
Ports:
ports:9925:9000- "9925:9000"
Memory Limit: deploy: resources: limits: memory: 1000M
volumes:Volumes:
- mealie-data:/app/data/
environment:-
ALLOW_SIGNUP: "false"→Deaktiviert dieKeine offene Registrierung(nur Admin kann Benutzer anlegen). -
PUID/,PGID:SetztNutzer-/Gruppen-IDden User/Gruppen-ID, unter der der Container laufen soll. 1000 ist oft der erste Standardnutzer in Linux.(Linux) -
Zeitzone (z. B.TZ:Zeitzone.Europe/Berlin) -
BASE_URL:Setzt dieBasis-URL für die App (z. B.fürfürsLinksSendenetc.) - Datenbankkonfiguration
Links,(DB_ENGINE,z. B.POSTGRES_*)per→E-Mail).PostgreSQL wird verwendet
depends_on: → Startet erst, wenn die Datenbank „healthy“ ist
Postgres-Datenbankdienst
-
Image:
postgres:15 -
Restart Policy:
DB_ENGINEalways: Gibt an, welche Datenbank verwendet wird – hierPostgreSQL. -
DieVolumes:weiteren DB-Variablen (POSTGRES_USER,→PASSWORDmealie-pgdata,etc.) sind die Zugangsdaten zur Datenbank – sie müssenwird mit dem Pfadpostgres/var/lib/postgresql/data-Serviceübereinstimmen.verbunden -
Environment Variablen:
- Benutzername & Passwort =
mealie
- Benutzername & Passwort =
-
Healthcheck: → prüft alle 30 Sekunden mit
pg_isready, ob DB verfügbar ist
depends_on:
postgres:Volumes condition:(Persistente service_healthy
Postgres – Datenbankdienst
postgres: container_name: postgres image: postgres:15 restart: alwaysvolumes: - mealie-pgdata:/var/lib/postgresql/dataenvironment: POSTGRES_PASSWORD: mealie POSTGRES_USER: mealie PGUSER: mealiehealthcheck: test: ["CMD", "pg_isready"] interval: 30s timeout: 20s retries: 3Speicher Ort
Speicherorte)
volumes:
mealie-data:
mealie-pgdata:
-
Speichert die Anwendungsdatenmealie-datafür→App-Daten -
mealie-pgdatafür→ Speichert die PostgreSQL-Datenbank
Möchtest du daraus auch ein PDF generieren oder eine HTML-Version für deine Webseite?