Lancer l'agence en local
Lancez votre pack sur votre ordinateur, avec Docker.
Pour le pack Full Stack
Avant de commencer : installez et ouvrez Docker Desktop, ou Docker Engine avec Compose.
Voir la configuration requiseTéléchargez votre template
Ouvrez Mes templates et téléchargez le ZIP correspondant à votre pack.
Résultat attendu: Un fichier nommé comme
velra-real-estate-full-stack-….zipse trouve dans vos téléchargements.Décompressez et ouvrez le dossier
Ouvrez un terminal là où se trouve le ZIP, extrayez-le et placez-vous dans le dossier
velra-real-estate-full-stack. Sous Windows, vous pouvez l'extraire dans l'Explorateur de fichiers, puis ouvrir un terminal dans le dossier.Terminalunzip -q velra-real-estate-full-stack-*.zip cd velra-real-estate-full-stackRésultat attendu: Le dossier contient
Un problème ?admin-dashboard,back-end,storefrontetdocker-compose.yml, à côté deREADME.md,QUICKSTART.mdetLICENSE.md.Démarrez les applications
Construisez et démarrez l'API, le site public et le tableau de bord de l'agence. Rien n'est à configurer au préalable. Le premier démarrage construit trois images et remplit la base avec l'agence de démonstration, ce qui prend quelques minutes ; les démarrages suivants prennent quelques secondes.
Terminaldansvelra-real-estate-full-stackdocker compose up --buildUn port est déjà utilisé ?
Si le démarrage s'arrête avec
Un port est déjà utiliséports are not available,address already in useouport is already allocated, un autre programme utilise 3030, 3031 ou 8000. Arrêtez-le, ou créez un fichier nommé.envdans le dossiervelra-real-estate-full-stack, à côté dedocker-compose.yml, avec le port voulu, par exempleADMIN_PORT=3041(SITE_PORTpour le site,API_PORTpour l'API). Relancezdocker compose up --buildet ouvrez l'application sur son nouveau port.Résultat attendu: Les trois services restent actifs et le journal cesse de défiler. Laissez ce terminal ouvert.
Un problème ?Ouvrez le site public
Ouvrez localhost:3030Local. L'anglais est sur
/enet l'arabe sur/ar. Le site n'a pas de comptes : les biens enregistrés et la comparaison sont conservés dans le navigateur du visiteur.Résultat attendu: Le site s'ouvre sur sa page d'accueil avec les annonces de démonstration et leurs photos.
Un problème ?Connectez-vous au tableau de bord de l'agence
Ouvrez localhost:3031Local. Connectez-vous avec
admin@velra.exampleet le mot de passeAdmin@123. Pour l'agent, saisissezagent@velra.exampleavecAgent@123. Changez les deux mots de passe avant que la pile soit accessible depuis Internet.Résultat attendu: Le tableau de bord s'ouvre sur sa vue d'ensemble, avec les biens publiés, les dernières demandes et les prochaines visites.
Un problème ?
Faites le tour
À quoi ressemble l'agence de démonstration une fois que tout fonctionne.
| Compte | Mot de passe | |
|---|---|---|
| Super Admin : toutes les pages et toutes les permissions | admin@velra.example | Admin@123 |
| Agent : vue d'ensemble, biens, demandes, visites, studio de mise en scène et liste des quartiers | agent@velra.example | Agent@123 |
Le seed ajoute 17 biens (15 publiés, 2 brouillons) avec leurs photos, 6 quartiers, 2 aperçus de mise en scène approuvés, 5 demandes et 8 demandes de visite, pour que chaque écran s'ouvre plein. Ce sont uniquement des comptes de démonstration locaux.
Arrêter et redémarrer
Appuyez sur Ctrl+C dans le terminal pour arrêter les applications, ou lancez ceci depuis le dossier velra-real-estate-full-stack. Vos données, la base et les fichiers téléversés, sont conservées dans le volume velra-data.
velra-real-estate-full-stackdocker compose downRedémarrez avec la même commande qu'à l'étape 3. Sans --build, elle réutilise les images déjà construites.
velra-real-estate-full-stackdocker compose upConserver vos données
docker compose down -v supprime aussi le volume de données. Le prochain démarrage recrée une copie neuve de l'agence de démonstration, et tout ce que vous aviez créé a disparu.
Lancer le site public
Ce pack est le site public, seul. Il lit tout depuis l'API Velra, donc démarrez d'abord l'API. Sauf si vous le construisez avec une autre adresse, le site attend l'API sur http://localhost:8000. L'API est un pack séparé et n'est pas dans ce téléchargement.
Décompressez et ouvrez le dossier
Terminalunzip -q velra-website-*.zip cd velra-websiteRésultat attendu: Le dossier contient un
Un problème ?Dockerfileet unpackage.json.Construisez l'image
Les valeurs
NEXT_PUBLIC_*sont compilées dans le JavaScript que charge le navigateur, ce sont donc des arguments de build. Sans argument, le site utilise l'API surhttp://localhost:8000/apiet se désigne commehttp://localhost:3030. Pour une API située ailleurs, indiquez son adresse.Terminaldansvelra-websitedocker build -t velra-website .Avec votre propre API et votre propre domaine :
Terminaldansvelra-websitedocker build -t velra-website --build-arg NEXT_PUBLIC_API_BASE_URL=https://api.your-agency.com/api --build-arg NEXT_PUBLIC_SITE_URL=https://www.your-agency.com --build-arg NEXT_PUBLIC_MEDIA_HOSTNAME=media.your-agency.com .Un problème ?Démarrez l'application
Dans le conteneur,
localhostest le conteneur lui-même :API_INTERNAL_URLindique donc au serveur du site où joindre l'API sur votre ordinateur, pour les titres des pages de bien, le premier rendu d'une page de bien et le sitemap.--add-hostfait fonctionnerhost.docker.internalsous Linux ; Docker Desktop l'a déjà. Si le port3030est pris, changez le nombre à gauche de-p, par exemple-p 3041:3030, ouvrez ce port à la place, et ajoutezhttp://localhost:3041àCORS_ORIGINde l'API.Terminaldansvelra-websitedocker run -p 3030:3030 -e API_INTERNAL_URL=http://host.docker.internal:8000/api --add-host=host.docker.internal:host-gateway velra-websiteRésultat attendu: localhost:3030Local ouvre le site avec les annonces de votre API. L'anglais est sur
Un problème ?/en, l'arabe sur/ar.
Lancer le tableau de bord de l'agence
Ce pack est le tableau de bord de l'agence, seul. Chaque écran lit l'API Velra, donc démarrez d'abord l'API. Sauf si vous le construisez avec une autre adresse, le tableau de bord attend l'API sur http://localhost:8000. L'API est un pack séparé et n'est pas dans ce téléchargement.
Téléchargez votre template
Ouvrez Mes templates et téléchargez le ZIP Tableau de bord de l'agence.
Décompressez et ouvrez le dossier
Terminalunzip -q velra-agency-dashboard-*.zip cd velra-agency-dashboardRésultat attendu: Le dossier contient un
Un problème ?Dockerfileet unpackage.json.Construisez l'image
Sans arguments de build, le tableau de bord utilise l'API sur
http://localhost:8000/api. Pour une API située ailleurs, indiquez son adresse, son adresse sans/apipour les notifications en direct, et l'adresse du site pour le lien « View website ».Terminaldansvelra-agency-dashboarddocker build -t velra-dashboard .Avec votre propre API :
Terminaldansvelra-agency-dashboarddocker build -t velra-dashboard --build-arg NEXT_PUBLIC_API_BASE_URL=https://api.your-domain.com/api --build-arg NEXT_PUBLIC_WEBSOCKET_BASE_URL=https://api.your-domain.com --build-arg NEXT_PUBLIC_MEDIA_HOSTNAME=api.your-domain.com --build-arg NEXT_PUBLIC_SITE_URL=https://your-domain.com .Un problème ?Démarrez-le et connectez-vous
Si le port
3031est pris, changez le nombre à gauche de-p, par exemple-p 3041:3031, ouvrez ce port à la place, et ajoutezhttp://localhost:3041àCORS_ORIGINde l'API (et définissez-yFRONTEND_URLavec cette adresse, celle depuis laquelle se connectent les notifications en direct).Terminaldansvelra-agency-dashboarddocker run -p 3031:3031 velra-dashboardRésultat attendu: localhost:3031Local ouvre le formulaire de connexion. Connectez-vous avec
Un problème ?admin@velra.exampleet le mot de passeAdmin@123, qu'une API avec seed accepte.
Lancer l'API
Ce pack est l'API NestJS, seule, sur un fichier SQLite conservé dans un volume Docker avec les fichiers téléversés. Le site public et le tableau de bord de l'agence sont des packs séparés et ne sont pas dans ce téléchargement.
Décompressez et ouvrez le dossier
Terminalunzip -q velra-backend-*.zip cd velra-backendRésultat attendu: Le dossier contient un
Un problème ?Dockerfile, undocker-entrypoint.shet unpackage.json.Démarrez-la avec l'agence de démonstration
Un nouveau volume contient des tables vides et aucun compte, sauf si vous demandez l'agence de démonstration : gardez donc
-e SEED_DEMO_DATA=truepour un premier démarrage. Le volumevelra-api-dataconserve la base et les fichiers téléversés entre les lancements. Si le port8000est pris, changez le nombre à gauche de-p, par exemple-p 8010:8000, et ajoutez-e PUBLIC_MEDIA_URL=http://localhost:8010/mediapour que les adresses des photos l'utilisent aussi. Vos frontends doivent alors pointer vershttp://localhost:8010/api.Terminaldansvelra-backenddocker run -p 8000:8000 -v velra-api-data:/data -e SEED_DEMO_DATA=true velra-apiRésultat attendu: localhost:8000/
Un problème ?api/ healthLocal répond avec "status":"ok"et"database":"up".
Le conteneur accepte le site sur http://localhost:3030 et le tableau de bord sur http://localhost:3031. Pour d'autres adresses, définissez CORS_ORIGIN (les deux, séparées par des virgules) et FRONTEND_URL (le tableau de bord) avec -e.
Pour donner au conteneur vos propres clés (R2, IA, MCP), créez .env à partir de .env.example avec cp .env.example .env, remplissez-le, et ajoutez --env-file .env -e NODE_ENV=production à docker run :
velra-backenddocker run -p 8000:8000 -v velra-api-data:/data -e SEED_DEMO_DATA=true --env-file .env -e NODE_ENV=production velra-apiUne valeur donnée avec -e l'emporte sur le même nom dans le fichier : le conteneur tourne donc en production quoi que dise .env, et il déplace les chemins relatifs du fichier (SQLITE_DATABASE, MEDIA_UPLOAD_DIR) dans le volume. Sans JWT_SECRET à vous, ou avec celui de l'exemple, le conteneur génère un secret et le garde dans le volume, si bien que les connexions survivent à un redémarrage.