À quoi ça sert ?
KitchenOwl est une liste de courses partagée en temps réel : quand quelqu'un ajoute du lait, toute la famille le voit dans l'application. Elle propose aussi des recettes, un planning des repas et le partage des dépenses.
Pour qui ?
Les familles et colocations qui font les courses à plusieurs.
Après l'installation
- Ouvrez l’adresse du site : le premier compte créé devient administrateur.
- Installez l’application KitchenOwl (Android, iPhone) et indiquez l’adresse de votre serveur.
Le docker-compose
Exemple derrière Traefik, avec une explication sur chaque ligne. Pour l'adapter à votre cas (Nginx Proxy Manager, port local…), utilisez le générateur.
# docker-compose.yml : KitchenOwl
# Ce fichier décrit les « conteneurs » à lancer : chaque conteneur est une petite
# boîte isolée qui contient un programme. Lancez-le avec : docker compose up -d
services:
# Conteneur principal : l'application KitchenOwl
front:
# Le programme à télécharger (l'« image »), avec sa version
image: tombursch/kitchenowl-web:latest
container_name: kitchenowl
# Redémarre tout seul après une panne ou un redémarrage du serveur
restart: unless-stopped
# Démarre ces conteneurs avant celui-ci
depends_on:
- back
# Réglages de l'application. Les valeurs ${...} viennent du fichier .env
environment:
TZ: Europe/Paris
# Réseau partagé avec le reverse proxy pour qu'il puisse joindre l'application
networks:
- traefik
- default
# Indique à Traefik de publier l'application sur https://courses.mondomaine.fr avec un certificat HTTPS
labels:
- traefik.enable=true
- traefik.http.routers.kitchenowl.rule=Host(`courses.mondomaine.fr`)
- traefik.http.routers.kitchenowl.entrypoints=websecure
- traefik.http.routers.kitchenowl.tls.certresolver=letsencrypt
- traefik.http.services.kitchenowl.loadbalancer.server.port=80
- traefik.docker.network=traefik
# Conteneur annexe « back » (utilisé par l'application, pas accessible de l'extérieur)
back:
# Le programme à télécharger (l'« image »), avec sa version
image: tombursch/kitchenowl-backend:latest
container_name: kitchenowl-back
# Redémarre tout seul après une panne ou un redémarrage du serveur
restart: unless-stopped
# Réglages de l'application. Les valeurs ${...} viennent du fichier .env
environment:
JWT_SECRET_KEY: "${JWT_SECRET_KEY}"
# Dossiers du serveur partagés avec le conteneur (dossier_serveur:dossier_conteneur).
# Vos données sont stockées ici : ce sont ces dossiers qu'il faut sauvegarder.
volumes:
- ./data:/data
# Le réseau du reverse proxy existe déjà : on s'y raccroche
networks:
traefik:
external: true