Skip to main content

Installation

Docker-Compose.yaml im Ü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:
      ALLOW_SIGNUP: "false"
      PUID: 1000
      PGID: 1000
      TZ: America/Anchorage
      BASE_URL: https://mealie.yourdomain.com
      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:

  • Image: ghcr.io/mealie-recipes/mealie:v2.8.0 → Verwendet Mealie in Version v2.8.0 aus der GitHub Container Registry.

  • Container Name: mealie → Setzt den Namen des Containers.

  • Restart Policy: always → Container wird bei Fehlern oder Neustarts automatisch neu gestartet.

  • Ports: 9925:9000 → Intern läuft Mealie auf Port 9000, erreichbar extern auf http://localhost:9925.

  • Memory Limit: 1000M → Begrenzt den RAM-Verbrauch (optional, aber nützlich auf kleinen Systemen).

  • Volumes:mealie-data wird mit /app/data/ im Container verbunden (persistente Daten).

  • Environment:

    • ALLOW_SIGNUP: "false" → Keine offene Registrierung
    • PUID, PGID: Nutzer-/Gruppen-ID (Linux)
    • TZ: Zeitzone (z. B. Europe/Berlin)
    • BASE_URL: Basis-URL für die App (für Links etc.)
    • Datenbankkonfiguration (DB_ENGINE, POSTGRES_*) → PostgreSQL wird verwendet
  • depends_on: → Startet erst, wenn die Datenbank „healthy“ ist


Postgres-Datenbankdienst

  • Image: postgres:15

  • Restart Policy: always

  • Volumes:mealie-pgdata wird mit dem Pfad /var/lib/postgresql/data verbunden

  • Environment Variablen:

    • Benutzername & Passwort = mealie
  • Healthcheck: → prüft alle 30 Sekunden mit pg_isready, ob DB verfügbar ist


Volumes (Persistente Speicherorte)

volumes:
  mealie-data:
  mealie-pgdata:
  • mealie-data → Speichert die Anwendungsdaten
  • mealie-pgdata → Speichert die PostgreSQL-Datenbank

Möchtest du daraus auch ein PDF generieren oder eine HTML-Version für deine Webseite?