Some checks failed
Tests / Backend Tests (Python) (3.10) (push) Has been cancelled
Tests / Backend Tests (Python) (3.11) (push) Has been cancelled
Tests / Backend Tests (Python) (3.12) (push) Has been cancelled
Tests / Frontend Tests (JS) (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / All Tests Passed (push) Has been cancelled
54 lines
1.6 KiB
Bash
54 lines
1.6 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
# Chargement des variables d'environnement depuis .env (si présent)
|
|
set -a
|
|
if [ -f .env ]; then
|
|
. ./.env
|
|
fi
|
|
set +a
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
# Workaround pour WSL: SQLite ne fonctionne pas bien sur /mnt/c/...
|
|
# Utiliser un chemin Linux natif pour la base de données (force override)
|
|
if [[ "$(pwd)" == /mnt/* ]]; then
|
|
mkdir -p ~/homelab-data/logs
|
|
export DATABASE_URL="sqlite+aiosqlite:////home/$USER/homelab-data/homelab.db"
|
|
export LOGS_DIR="$HOME/homelab-data/logs"
|
|
echo "⚠️ WSL détecté: BD stockée dans ~/homelab-data/"
|
|
fi
|
|
|
|
# copier les clés SSH du répertoire docker/ssh_keys vers ~/.ssh
|
|
cp docker/ssh_keys/id_automation_ansible ~/.ssh/
|
|
cp docker/ssh_keys/id_automation_ansible.pub ~/.ssh/
|
|
|
|
# Forcer la clé SSH utilisée par l'app (notamment pour le terminal web)
|
|
export SSH_KEY_PATH="$HOME/.ssh/id_automation_ansible"
|
|
|
|
# ajouter les droits aux clés SSH (sans changer le répertoire courant du script)
|
|
(
|
|
cd ~/.ssh
|
|
chmod 600 id_automation_ansible
|
|
chmod 644 id_automation_ansible.pub
|
|
)
|
|
|
|
# Appliquer les migrations avant de démarrer l'app (important si la BD vient d'être supprimée)
|
|
|
|
# Utiliser le venv du projet si présent (important: dépendances runtime comme asyncssh)
|
|
PYTHON_BIN="python"
|
|
ALEMBIC_BIN="alembic"
|
|
if [ -x ".venv/bin/python" ]; then
|
|
PYTHON_BIN=".venv/bin/python"
|
|
if [ -x ".venv/bin/alembic" ]; then
|
|
ALEMBIC_BIN=".venv/bin/alembic"
|
|
else
|
|
ALEMBIC_BIN="$PYTHON_BIN -m alembic"
|
|
fi
|
|
fi
|
|
|
|
$ALEMBIC_BIN upgrade head
|
|
|
|
# Commande de démarrage du backend FastAPI
|
|
$PYTHON_BIN -m uvicorn main:app --host 0.0.0.0 --port 8000 --reload
|