52 lines
1.7 KiB
Bash

#!/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)"