Image Python 3.14-slim (même version qu'en dev local), utilisateur non-root, healthcheck sans dépendance externe, un seul worker Uvicorn (SQLite gère mal les écritures concurrentes multi-process). data/ monté en volume dans docker-compose.yml pour garder la base SQLite visible et sauvegardable directement dans le dossier du projet, comme en dev local. Non testé avec un vrai build : Docker indisponible dans cet environnement de dev, à vérifier avant un premier déploiement.
21 lines
622 B
YAML
21 lines
622 B
YAML
# Lancement : docker compose up --build
|
|
# L'app est accessible sur http://localhost:8000
|
|
#
|
|
# Prérequis : cp .env.example .env (et le remplir si un vrai relais SMTP
|
|
# est disponible ; sinon les emails restent simulés dans les logs, comme
|
|
# en dev local — voir `docker compose logs -f`).
|
|
#
|
|
# data/ est monté depuis l'hôte : la base SQLite (data/stock.db) reste
|
|
# visible et sauvegardable directement dans ce dossier, exactement comme
|
|
# en dev local sans Docker.
|
|
services:
|
|
stock:
|
|
build: .
|
|
ports:
|
|
- "8000:8000"
|
|
volumes:
|
|
- ./data:/app/data
|
|
env_file:
|
|
- .env
|
|
restart: unless-stopped
|