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_HOST
  • REGISTRY_PORT
  • IMAGE_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