Kitchenowl

kitchenowl Rezeptverwaltung als docker container

Kitchenowl Rezeptverwaltung

KitchenOwl ist eine Open‑Source‑Applikation, die als Selbst‑Hosting‑Lösung für Einkaufsliste, Rezepte, Essensplanung und Ausgabenverwaltung dient. Sie besteht aus einem Backend (Python/Flask) und einer Frontend‑App (Flutter bzw. Web‑UI).

Quelle des Projekts: https://github.com/TomBursch/kitchenowl

KitchenOwl ist ein voll funktionsfähiges, selbstgehostetes Küchensystem, das in einem einzigen Docker‑Container laufen kann. Du kannst es auf jedem Server, NAS oder Raspberry Pi betreiben und hast Zugriff auf Einkaufsliste, Rezepte, Essensplanung und Ausgabenübersicht – alles bequem über die Web‑UI oder mobile Flutter‑App.

Voraussetzung

Docker muss installiert sein. Z.B. so:

curl -fsSL https://get.docker.com | sh

Vorgehen

Du kannst Dir auf einem Server Deiner Wahl ein Verzeichnis erstellen. Darin erstellst Du die benötigten Dateien "docker-compse.yml" und ".env":

docker-compose.yml

services:
  db:
    image: postgres:17
    container_name: kitchenowl-db
    security_opt:
      - "no-new-privileges:true"
    restart: unless-stopped
    environment:
      POSTGRES_DB: ${POSTGRES_DB}
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - /path/to/kitchenowl/db:/var/lib/postgresql/data
    networks:
      - default
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
      interval: 30s
      timeout: 60s
      retries: 5
      start_period: 80s
  back:
    image: tombursch/kitchenowl:latest
    container_name: kitchenowl-app
    restart: unless-stopped
    #ports:
    #  - "80:8080"
    networks:
      - default
      - proxy-net
    environment:
      JWT_SECRET_KEY: ${JWT_SECRET_KEY}
      DB_DRIVER: postgresql
      DB_HOST: db
      DB_NAME: ${POSTGRES_DB}
      DB_USER: ${POSTGRES_USER}
      DB_PASSWORD: ${POSTGRES_PASSWORD}
    depends_on:
      - db
    volumes:
      - /path/to/kitchenowl/files:/data
networks:
  default:
  proxy-net:
    external: true

In der Datei ".env" werden dann die Inhalte der Umgebungsvariablen gespeichert. Außerdem muss das externe Netzwerk "proxy-net" existieren, in dem der reverse proxy hängt (-> siehe meine Seite zu nginx proxy manager)

.env

POSTGRES_DB=kitchenowl
POSTGRES_USER=kitchenowl
POSTGRES_PASSWORD=
JWT_SECRET_KEY=

Du musst jetzt nur noch ein Passwort für die postgres-Datenbank und einen langen JWT Key einfügen. Diese kannst Du Dir beliebig ausdenken oder einen Passwort Genarator verwenden.

Starten der Container

Jetzt kannst Du auf der Kommandozeile oder über einen docker-Manager wie Portainer die Container starten:

docker compose up -d

Reverse proxy

Im nginx proxy manager erstellt Du nun den Hostnamen der Seite, z.B. kitchenowl.geekgully.de, und generierst das SSL-Zertifikat. Danach ist Kitchenowl z.B. unter https://kitchenowl.geekgully.de erreichbar.

 

Comments powered by CComment

Save
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Marketing
Set of techniques which have for object the commercial strategy and in particular the market study.
Facebook
Accept
Decline
Unknown
Unknown
Accept
Decline