up login page
This commit is contained in:
parent
92cbbb1595
commit
3b95c7871c
49 changed files with 12320 additions and 43 deletions
89
devops/README.md
Normal file
89
devops/README.md
Normal file
|
@ -0,0 +1,89 @@
|
|||
# Documentation des fichiers Docker pour lancer la webapp et l'API Streamlit
|
||||
|
||||
Ce dossier contient les fichiers nécessaires pour construire et lancer deux services via Docker :
|
||||
- **Frontend Angular** (service `frontend`)
|
||||
- **Backend Streamlit** (service `streamlit`)
|
||||
|
||||
Les Dockerfiles attendent une arborescence suivante relativement à ce dossier `devops/` :
|
||||
- `./frontend/` contient l’application Angular et ses `package.json`
|
||||
- `./streamlit/` contient l’application Streamlit, `requirements.txt` et `app.py`
|
||||
|
||||
## 1) docker-compose.yml
|
||||
|
||||
Orchestre le lancement des services :
|
||||
- Service `frontend` (port hôte 4200 → conteneur 4200)
|
||||
- Service `streamlit` (port hôte 8501 → conteneur 8501)
|
||||
|
||||
Commandes de base :
|
||||
|
||||
```bash
|
||||
# Construire les images et démarrer en arrière-plan
|
||||
docker compose up -d --build
|
||||
|
||||
# Voir les logs des deux services
|
||||
docker compose logs -f
|
||||
|
||||
# Arrêter les services
|
||||
docker compose down
|
||||
```
|
||||
|
||||
## 2) frontend-dockerfile.yml (Angular)
|
||||
|
||||
Image basée sur `node:24` qui :
|
||||
- installe les dépendances `npm` à partir de `package*.json`
|
||||
- construit l’application (`npm run build -- --configuration=production`)
|
||||
- sert le build avec `serve` sur le port 4200
|
||||
|
||||
Attendus côté projet :
|
||||
- dossier `frontend/` avec `package.json`, code Angular, et un build générant `dist/`
|
||||
|
||||
Accès :
|
||||
- Application disponible sur `http://localhost:4200`
|
||||
|
||||
Notes :
|
||||
- Ce Dockerfile sert la version buildée (statique). Pour du hot-reload en dev, prévoir un autre service (ex. `ng serve`) ou un mapping de volumes.
|
||||
|
||||
## 3) streamlit-dockerfile.yml (Streamlit)
|
||||
|
||||
Image basée sur `python:3.11` qui :
|
||||
- installe les dépendances via `requirements.txt`
|
||||
- lance l’appli avec `streamlit run app.py --server.port=8501 --server.address=0.0.0.0`
|
||||
|
||||
Attendus côté projet :
|
||||
- dossier `streamlit/` avec `requirements.txt` et `app.py`
|
||||
|
||||
Accès :
|
||||
- Application disponible sur `http://localhost:8501`
|
||||
|
||||
## 4) Variables d’environnement et volumes (optionnel)
|
||||
|
||||
Si vous avez besoin de configurer des variables ou des volumes, ajoutez-les dans `docker-compose.yml`, par exemple :
|
||||
|
||||
```yaml
|
||||
services:
|
||||
frontend:
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
volumes:
|
||||
- ./frontend/dist:/app/dist:ro
|
||||
streamlit:
|
||||
environment:
|
||||
- STREAMLIT_ENV=production
|
||||
volumes:
|
||||
- ./streamlit:/app:ro
|
||||
```
|
||||
|
||||
Adaptez selon vos besoins (mode lecture/écriture, fichiers de config, secrets via `.env`).
|
||||
|
||||
## 5) Dépannage
|
||||
|
||||
- Vérifiez que les dossiers `./frontend` et `./streamlit` existent bien au même niveau que `docker-compose.yml`.
|
||||
- Assurez-vous que `frontend/package.json` contient les scripts et dépendances nécessaires au build.
|
||||
- Assurez-vous que `streamlit/requirements.txt` liste toutes les dépendances Python requises et que `app.py` existe.
|
||||
- Si un port est déjà utilisé, changez les ports exposés dans `docker-compose.yml`.
|
||||
- Pour reconstruire proprement après des changements majeurs : `docker compose build --no-cache`.
|
||||
|
||||
## 6) Résumé des ports et conteneurs
|
||||
|
||||
- `frontend` → conteneur `frontend-app` → `http://localhost:4200`
|
||||
- `streamlit` → conteneur `streamlit-app` → `http://localhost:8501`
|
Loading…
Add table
Add a link
Reference in a new issue