#!/bin/bash # init.sh - Script d'initialisation de l'environnement pour Homelab Automation # Ce script prépare le fichier .env et les répertoires nécessaires. set -e # Se placer dans le dossier du script cd "$(dirname "$0")" echo "=== Initialisation de l'environnement Docker ===" # 1. Configuration du fichier .env if [ ! -f .env ]; then echo "Creation du fichier .env a partir de .env.example..." cp .env.example .env # Génération d'une clé API aléatoire API_KEY=$(openssl rand -hex 16 2>/dev/null || echo "change-me-please-123") # Remplacement de la clé API par défaut (si sed disponible) if command -v sed >/dev/null 2>&1; then # Compatible Linux/Mac if [[ "$OSTYPE" == "darwin"* ]]; then sed -i '' "s/API_KEY=dev-key-12345/API_KEY=${API_KEY}/" .env else sed -i "s/API_KEY=dev-key-12345/API_KEY=${API_KEY}/" .env fi echo "Clé API générée aléatoirement." fi echo "--> Fichier .env créé. Pensez à l'éditer pour configurer vos accès SSH et notifications." else echo "--> Le fichier .env existe déjà." fi # 2. Création des répertoires de données echo "Vérification des répertoires de données..." mkdir -p ../data mkdir -p ../tasks_logs # 3. Vérification des permissions echo "Ajustement des permissions..." chmod +x deploy-img.sh maj.sh init.sh 2>/dev/null || true echo "=== Initialisation terminée ===" echo "Pour démarrer l'application :" echo " docker compose up -d --build" echo "" echo "Pour construire l'image :" echo " ./build-img.ps1 (Windows/WSL)" echo " docker build -f Dockerfile -t homelab-automation-api:latest .. (Linux)"