homelab_automation/run_dev.sh
Bruno Charest 68a9b0f390
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
Remove Node.js cache files containing npm vulnerability data for vitest and vite packages
2025-12-15 20:36:06 -05:00

50 lines
1.5 KiB
Bash

#!/bin/bash
# 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/
# 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