feat: ajout Docker Compose et documentation outils
- Dockerfile backend (Python 3.11 + Poetry + Playwright/Chromium) - Dockerfile frontend (Node 20 + Vite build + Nginx) - docker-compose.yml avec services et volumes persistants - Proxy Nginx pour API (/api -> backend:8008) - Healthchecks sur les deux services - Configuration Docker (.env.docker, .dockerignore) - Documentation déploiement Docker dans README - Fichier docs/tools_used.md avec liste des technologies Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
69
README.md
69
README.md
@@ -40,9 +40,74 @@ Suite self-hosted pour suivre les prix et l'état des produits Amazon.fr (et aut
|
||||
- `.venv/bin/coverage run -m pytest`
|
||||
- `.venv/bin/coverage report -m`
|
||||
|
||||
## Déploiement
|
||||
1. `docker compose up --build` (à configurer)
|
||||
## Déploiement Docker
|
||||
|
||||
### Lancement rapide
|
||||
```bash
|
||||
# Copier la configuration Docker
|
||||
cp .env.docker .env
|
||||
|
||||
# Build et lancement
|
||||
docker compose up --build -d
|
||||
|
||||
# Voir les logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
### Services
|
||||
| Service | Port | Description |
|
||||
|---------|------|-------------|
|
||||
| frontend | 8080 | Interface web (Nginx) |
|
||||
| backend | 8008 | API FastAPI + Scheduler |
|
||||
|
||||
### Volumes persistants
|
||||
- `suivi_produit_data` : base SQLite + raw JSON (`backend/data/`)
|
||||
- `suivi_produit_logs` : fichiers de log (`backend/logs/`)
|
||||
|
||||
### Commandes utiles
|
||||
```bash
|
||||
# Arrêter les services
|
||||
docker compose down
|
||||
|
||||
# Reconstruire après modification
|
||||
docker compose up --build -d
|
||||
|
||||
# Voir l'état des services
|
||||
docker compose ps
|
||||
|
||||
# Accéder aux logs d'un service
|
||||
docker compose logs backend -f
|
||||
docker compose logs frontend -f
|
||||
|
||||
# Backup de la base (volume Docker)
|
||||
docker run --rm -v suivi_produit_data:/data -v $(pwd):/backup alpine tar cvf /backup/data_backup.tar /data
|
||||
```
|
||||
|
||||
### Configuration
|
||||
Variables d'environnement (`.env`) :
|
||||
- `API_PORT` : port du backend (défaut: 8008)
|
||||
- `FRONTEND_PORT` : port du frontend (défaut: 8080)
|
||||
- `APP_ENV` : environnement (development/production)
|
||||
- `LOG_LEVEL` : niveau de log (DEBUG/INFO/WARNING/ERROR)
|
||||
|
||||
## Notes
|
||||
- Le scraping est volontairement lent (15-20 produits/jour) pour éviter le blocage.
|
||||
- Le raw JSON est conservé pendant 30 jours dans `backend/data/raw`.
|
||||
|
||||
|
||||
Voici les commandes pour lancer les services :
|
||||
|
||||
Backend (port 8008) :
|
||||
|
||||
|
||||
cd /home/gilles/Documents/vscode/suivi_produit
|
||||
.venv/bin/python -m uvicorn backend.app.main:app --host 0.0.0.0 --port 8008 --reload
|
||||
Frontend (port 5173) :
|
||||
|
||||
|
||||
cd /home/gilles/Documents/vscode/suivi_produit/frontend
|
||||
npm run dev
|
||||
Ou en une seule commande avec Poetry pour le backend :
|
||||
|
||||
|
||||
poetry run uvicorn backend.app.main:app --host 0.0.0.0 --port 8008 --reload
|
||||
Reference in New Issue
Block a user