82 lines
2.1 KiB
Markdown
82 lines
2.1 KiB
Markdown
# Docker Configuration for Homelab Automation
|
|
|
|
Ce dossier contient tous les fichiers nécessaires pour conteneuriser et déployer l'application Homelab Automation API.
|
|
|
|
## Structure du dossier
|
|
|
|
- **Dockerfile** : Définition de l'image Docker.
|
|
- **docker-compose.yml** : Définition de la stack (Container API + Volumes).
|
|
- **.env.example** : Modèle de configuration des variables d'environnement.
|
|
- **init.sh** : Script d'initialisation de l'environnement local.
|
|
- **build-img.ps1** : Script PowerShell pour construire l'image (optimisé pour WSL).
|
|
- **deploy-img.sh / .ps1** : Scripts pour pousser l'image vers un registre Docker privé.
|
|
- **maj.sh** : Script pour mettre à jour la stack depuis le registre.
|
|
|
|
## Prérequis
|
|
|
|
- Docker Engine & Docker Compose
|
|
- Pour Windows : WSL 2 activé (recommandé pour les scripts .ps1)
|
|
|
|
## Installation et Démarrage
|
|
|
|
### 1. Initialisation
|
|
|
|
Lancez le script d'initialisation pour préparer le fichier `.env` et les répertoires de données :
|
|
|
|
```bash
|
|
# Dans le dossier docker/
|
|
bash init.sh
|
|
```
|
|
|
|
Ensuite, éditez le fichier `.env` généré pour configurer :
|
|
- `API_KEY` : Votre clé secrète.
|
|
- `SSH_USER` : L'utilisateur pour les connexions Ansible.
|
|
- `NTFY_*` : La configuration des notifications (optionnel).
|
|
|
|
### 2. Démarrage (Local)
|
|
|
|
Pour lancer l'application localement avec Docker Compose :
|
|
|
|
```bash
|
|
docker compose up -d --build
|
|
```
|
|
|
|
L'API sera accessible sur `http://localhost:8008`.
|
|
|
|
## Construction et Déploiement (Avancé)
|
|
|
|
Si vous utilisez un registre Docker privé (ex: Nexus, Harbor, Registry local), vous pouvez utiliser les scripts de build et de déploiement.
|
|
|
|
### Configuration du Registre
|
|
|
|
Modifiez les variables dans `.env` (ou laissez les valeurs par défaut si elles conviennent) :
|
|
- `REGISTRY_HOST`
|
|
- `REGISTRY_PORT`
|
|
- `IMAGE_NAME`
|
|
|
|
### Construction
|
|
|
|
Sous Windows (via PowerShell) :
|
|
```powershell
|
|
.\build-img.ps1
|
|
```
|
|
|
|
Sous Linux :
|
|
```bash
|
|
docker build -f Dockerfile -t homelab-automation-api:latest ..
|
|
```
|
|
|
|
### Déploiement
|
|
|
|
Pousse l'image vers le registre configuré :
|
|
```powershell
|
|
.\deploy-img.ps1
|
|
```
|
|
|
|
### Mise à jour
|
|
|
|
Sur le serveur de destination, pour tirer la dernière image et redémarrer :
|
|
```bash
|
|
./maj.sh
|
|
```
|