2.1 KiB
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 :
# 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 :
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_HOSTREGISTRY_PORTIMAGE_NAME
Construction
Sous Windows (via PowerShell) :
.\build-img.ps1
Sous Linux :
docker build -f Dockerfile -t homelab-automation-api:latest ..
Déploiement
Pousse l'image vers le registre configuré :
.\deploy-img.ps1
Mise à jour
Sur le serveur de destination, pour tirer la dernière image et redémarrer :
./maj.sh