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