52 lines
1.7 KiB
Bash
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)"
|