#!/bin/bash set -e cd /home/container echo "======================================" echo "AccroCBio" echo "======================================" # -------------------------------------- # Mise à jour du projet # -------------------------------------- if [ ! -d ".git" ]; then echo "Dépôt Git absent → clonage..." git clone https://gitea.louismazin.ovh/LouisMazin/AccroCBio.git /tmp/accrocbio cp -a /tmp/accrocbio/. /home/container/ rm -rf /tmp/accrocbio else echo "Mise à jour du dépôt Git..." git fetch origin git reset --hard origin/main fi echo "Git : $(git rev-parse --short HEAD)" # -------------------------------------- # Backend # -------------------------------------- cd /home/container/backend python3 manage.py check echo "Démarrage Django sur :1037" python3 manage.py migrate --noinput python3 manage.py runserver 0.0.0.0:1037 & BACKEND_PID=$! # -------------------------------------- # Frontend # -------------------------------------- cd /home/container/frontend echo "Installation des dépendances frontend..." npm ci echo "Build React..." npm run build echo "Démarrage frontend sur :1036" npm run preview -- --host 0.0.0.0 --port 1036 & FRONTEND_PID=$! # -------------------------------------- # Arrêt propre # -------------------------------------- cleanup() { echo "Arrêt des applications..." kill "$BACKEND_PID" 2>/dev/null || true kill "$FRONTEND_PID" 2>/dev/null || true wait "$BACKEND_PID" 2>/dev/null || true wait "$FRONTEND_PID" 2>/dev/null || true } trap cleanup SIGTERM SIGINT EXIT echo "======================================" echo " Frontend : :1036" echo " Backend : :1037" echo "======================================" wait -n "$BACKEND_PID" "$FRONTEND_PID"