Installer ShelfSpot chez-soi
Ce guide fournit des instructions étape par étape pour installer ShelfSpot en utilisant deux méthodes différentes : Installation Classique (configuration minimale) et Installation Complète (stack complet avec base de données).
Prérequis
Avant de commencer, assurez-vous d’avoir les éléments suivants :
- Docker Engine (version 20.10 ou supérieure)
- Docker Compose (v1.29 ou supérieure, ou Docker Compose v2)
- Git (pour cloner le dépôt)
- Linux/macOS/Windows avec support Docker
- Au moins 2 Go de RAM et 5 Go d’espace disque
Installer Docker
Si Docker n’est pas installé :
- Linux : Suivez le guide officiel d’installation de Docker
- macOS : Téléchargez Docker Desktop pour Mac
- Windows : Téléchargez Docker Desktop pour Windows
Vérifiez votre installation :
docker --versiondocker-compose --versionMéthodes d’installation
Choisissez la méthode qui correspond le mieux à vos besoins :
Méthode 1 : Installation Classique (Recommandée pour le développement)
L’installation classique propose une configuration minimale qui construit et exécute l’application ShelfSpot sans base de données intégrée. Cette méthode est idéale pour :
- Développement et tests
- Démos rapides
- Si vous avez déjà un serveur de base de données
Étapes :
-
Accédez au dossier d’installation classique :
Fenêtre de terminal cd install/classic_install -
Rendez le script de build exécutable :
Fenêtre de terminal chmod +x build.sh -
Exécutez le script de build :
Fenêtre de terminal ./build.shCe script va :
- Construire les images Docker pour le frontend et le backend
- Vérifier que les images sont créées avec succès
-
Configurez les variables d’environnement : Assurez-vous d’avoir un fichier
.envdans le dossierbackendavec la configuration de votre base de données :Fenêtre de terminal # Exemple de fichier .envDATABASE_URL="mysql://user:password@host:3306/shelfspot"JWT_SECRET="votre-cle-secrete" -
Démarrez les services :
Fenêtre de terminal docker-compose up -d -
Vérifiez l’installation :
Fenêtre de terminal docker-compose psVérifiez que les services sont en cours d’exécution :
- Backend : Disponible sur
http://localhost:3001 - Frontend : Disponible sur
http://localhost:3000
- Backend : Disponible sur
-
Consultez les logs (si besoin) :
Fenêtre de terminal docker-compose logs -f
Services inclus :
- API Backend (NestJS) sur le port 3001
- Frontend (Next.js) sur le port 3000
Méthode 2 : Installation Complète (Prête pour la production)
L’installation complète propose un déploiement full-stack incluant une base de données MariaDB et tous les services nécessaires. Cette méthode est idéale pour :
- Déploiements en production
- Environnement de test complet
- Si vous souhaitez tout préconfiguré
Étapes :
-
Accédez au dossier d’installation complète :
Fenêtre de terminal cd install/complete_install -
Rendez le script de build exécutable :
Fenêtre de terminal chmod +x build.sh -
Exécutez le script de build :
Fenêtre de terminal ./build.shCe script prépare tous les composants nécessaires au déploiement complet.
-
Configurez les variables d’environnement (optionnel) : Créez un fichier
.envpour remplacer les paramètres par défaut :Fenêtre de terminal # Fichier .env optionnel pour installation complèteDB_ROOT_PASSWORD=mot-de-passe-rootDB_NAME=shelfspotDB_USER=shelfspot_userDB_PASSWORD=mot-de-passe-utilisateurDB_PORT=3306 -
Démarrez le stack complet :
Fenêtre de terminal docker-compose -f docker-compose.full.yml up -d -
Attendez l’initialisation de la base de données : La base de données a besoin de temps pour s’initialiser. Surveillez le processus :
Fenêtre de terminal docker-compose -f docker-compose.full.yml logs -f databaseAttendez de voir “ready for connections” dans les logs.
-
Exécutez les migrations de la base de données (si besoin) :
Fenêtre de terminal docker-compose -f docker-compose.full.yml exec backend npm run prisma:migrate:deploy -
Vérifiez l’installation :
Fenêtre de terminal docker-compose -f docker-compose.full.yml psTous les services doivent être en bonne santé :
- Base de données (MariaDB) sur le port 3306
- API Backend sur le port 3001
- Frontend sur le port 3000
Services inclus :
- Base de données MariaDB sur le port 3306
- API Backend (NestJS) sur le port 3001
- Frontend (Next.js) sur le port 3000
- Scripts d’initialisation de la base (dans
database/init/)
Après l’installation
Accéder à l’application
Une fois l’installation terminée, vous pouvez accéder à :
- Frontend : http://localhost:3000
- API Backend : http://localhost:3001
- Documentation API : http://localhost:3001/api (Swagger)
Identifiants par défaut
Si vous utilisez l’installation complète avec les paramètres par défaut :
- Base de données :
- Hôte : localhost:3306
- Base : shelfspot
- Utilisateur : shelfspot_user
- Mot de passe : ShelfSpot2024!
Vérification de l’état des services
Les deux méthodes d’installation incluent des vérifications :
# Vérifier tous les servicesdocker-compose ps
# Vérifier les logs d'un service spécifiquedocker-compose logs backenddocker-compose logs frontend
# Pour installation complètedocker-compose -f docker-compose.full.yml logs databaseDépannage
Problèmes courants
-
Conflits de ports :
Fenêtre de terminal # Vérifier ce qui utilise les portssudo netstat -tulpn | grep :3000sudo netstat -tulpn | grep :3001sudo netstat -tulpn | grep :3306 -
Problèmes de permissions Docker :
Fenêtre de terminal # Ajouter l'utilisateur au groupe dockersudo usermod -aG docker $USER# Puis déconnectez-vous et reconnectez-vous -
Problèmes de connexion à la base de données :
- Vérifiez que le conteneur de base de données est sain
- Vérifiez les variables d’environnement dans les fichiers
.env - Vérifiez la connectivité réseau entre les conteneurs
-
Échecs de build :
Fenêtre de terminal # Nettoyer le cache Docker et reconstruiredocker system prune -adocker-compose down -v# Puis relancez le script de build
Obtenir de l’aide
En cas de problème :
- Consultez les logs :
docker-compose logs <nom-du-service> - Vérifiez que tous les conteneurs sont en cours d’exécution :
docker-compose ps - Consultez la documentation dans le dossier
documentation/ - Consultez les README spécifiques dans
backend/etfrontend/
Arrêt et nettoyage
Arrêter les services :
# Installation classiquedocker-compose down
# Installation complètedocker-compose -f docker-compose.full.yml downNettoyage complet (supprime les données) :
# Supprimer les conteneurs, réseaux et volumesdocker-compose down -v
# Pour installation complètedocker-compose -f docker-compose.full.yml down -vNotes de développement
- Pour le développement, l’installation classique est recommandée car elle est plus rapide à démarrer/arrêter
- Utilisez l’installation complète pour tester les fonctionnalités spécifiques à la base de données
- Les deux méthodes supportent le hot-reloading pendant le développement
- Les variables d’environnement peuvent être personnalisées dans les fichiers
.envrespectifs
Pour plus d’informations, consultez la documentation sur la page d’accueil du projet.