Bruno Charest 5bc12d0729
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
Add terminal session management with heartbeat monitoring, idle timeout detection, session reuse logic, and command history panel UI with search and filtering capabilities
2025-12-18 13:49:40 -05:00

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