Exopy est une plateforme d'apprentissage Python avec tutorat IA. Ce guide permet d'installer l'application sur n'importe quel serveur Linux via Docker.
- Un serveur Linux (Debian, Ubuntu, Rocky Linux…) avec accès SSH
- Droits
sudosur le serveur - Une clé API OpenRouter (pour le tutorat IA)
Connectez-vous à votre serveur via SSH, puis exécutez :
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
exitReconnectez-vous en SSH, puis vérifiez que Docker fonctionne :
docker --version
docker compose versiongit clone <URL_DU_DEPOT> exopy
cd exopyOu copier les fichiers depuis votre machine locale :
scp -r exopy/ utilisateur@serveur:~/
cd exopyCopiez le fichier de configuration exemple et éditez-le :
cp .env.example .env
nano .envVoici les variables à renseigner :
| Variable | Description | Exemple |
|---|---|---|
FRONTEND_PORT |
Port du site web (80 par défaut) | 80 |
POSTGRES_PASSWORD |
Mot de passe de la base de données | MonMotDePasse123! |
SECRET_KEY |
Clé secrète pour les tokens de connexion | (voir ci-dessous) |
ADMIN_USERNAME |
Identifiant du compte administrateur | admin |
ADMIN_PASSWORD |
Mot de passe du compte administrateur | MonAdminPass! |
OPENROUTER_API_KEY |
Clé API OpenRouter pour l'IA | sk-or-... |
CORS_ORIGINS |
Origines autorisées pour l'API (optionnel, laisser vide) |
Générer une SECRET_KEY robuste :
openssl rand -hex 32Important : Ne partagez jamais votre fichier
.env. Il est ignoré par git.
docker compose up -d --buildCette commande va :
- Télécharger les images Docker nécessaires (PostgreSQL, nginx, Python)
- Compiler l'application Vue.js
- Démarrer les trois services : base de données, API, site web
Le premier lancement prend quelques minutes. Suivez la progression :
docker compose logs -fAppuyez sur Ctrl+C pour quitter l'affichage des logs (les services continuent de tourner).
docker compose psVous devez voir trois services avec le statut running (healthy) :
NAME STATUS
exopy-postgres-1 running (healthy)
exopy-backend-1 running (healthy)
exopy-frontend-1 running (healthy)
Ouvrez un navigateur et accédez à :
- Site web :
http://VOTRE_IP(ouhttp://VOTRE_IP:FRONTEND_PORTsi vous avez changé le port) - Documentation API :
http://VOTRE_IP/api/docs
Connectez-vous avec le compte admin défini dans votre .env.
docker compose stop
docker compose start
docker compose restartdocker compose logs -f
docker compose logs -f backend
docker compose logs -f frontend
docker compose logs -f postgresgit pull
docker compose up -d --builddocker compose exec postgres pg_dump -U exopy exopy > sauvegarde_$(date +%Y%m%d).sqlPour restaurer :
cat sauvegarde_20241201.sql | docker compose exec -T postgres psql -U exopy exopy