Aller à l'article
Aniq-UI

VelraLancer l'agence en local

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 requise
  1. Té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-….zip se trouve dans vos téléchargements.

  2. 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.

    Terminal
    unzip -q velra-real-estate-full-stack-*.zip
    cd velra-real-estate-full-stack

    Résultat attendu: Le dossier contient admin-dashboard, back-end, storefront et docker-compose.yml, à côté de README.md, QUICKSTART.md et LICENSE.md.

    Un problème ?
  3. 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.

    Terminaldans velra-real-estate-full-stack
    docker compose up --build

    Un port est déjà utilisé ?

    Si le démarrage s'arrête avec ports are not available, address already in use ou port is already allocated, un autre programme utilise 3030, 3031 ou 8000. Arrêtez-le, ou créez un fichier nommé .env dans le dossier velra-real-estate-full-stack, à côté de docker-compose.yml, avec le port voulu, par exemple ADMIN_PORT=3041 (SITE_PORT pour le site, API_PORT pour l'API). Relancez docker compose up --build et ouvrez l'application sur son nouveau port.

    Un port est déjà utilisé

    Résultat attendu: Les trois services restent actifs et le journal cesse de défiler. Laissez ce terminal ouvert.

    Un problème ?
  4. Ouvrez le site public

    Ouvrez localhost:3030Local. L'anglais est sur /en et 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 ?
  5. Connectez-vous au tableau de bord de l'agence

    Ouvrez localhost:3031Local. Connectez-vous avec admin@velra.example et le mot de passe Admin@123. Pour l'agent, saisissez agent@velra.example avec Agent@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.

CompteE-mailMot de passe
Super Admin : toutes les pages et toutes les permissionsadmin@velra.exampleAdmin@123
Agent : vue d'ensemble, biens, demandes, visites, studio de mise en scène et liste des quartiersagent@velra.exampleAgent@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.

Terminaldans velra-real-estate-full-stack
docker compose down

Redémarrez avec la même commande qu'à l'étape 3. Sans --build, elle réutilise les images déjà construites.

Terminaldans velra-real-estate-full-stack
docker compose up

Conserver 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.

  1. Téléchargez votre template

    Ouvrez Mes templates et téléchargez le ZIP Site public.

  2. Décompressez et ouvrez le dossier

    Terminal
    unzip -q velra-website-*.zip
    cd velra-website

    Résultat attendu: Le dossier contient un Dockerfile et un package.json.

    Un problème ?
  3. 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 sur http://localhost:8000/api et se désigne comme http://localhost:3030. Pour une API située ailleurs, indiquez son adresse.

    Terminaldans velra-website
    docker build -t velra-website .

    Avec votre propre API et votre propre domaine :

    Terminaldans velra-website
    docker 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 ?
  4. Démarrez l'application

    Dans le conteneur, localhost est le conteneur lui-même : API_INTERNAL_URL indique 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-host fait fonctionner host.docker.internal sous Linux ; Docker Desktop l'a déjà. Si le port 3030 est pris, changez le nombre à gauche de -p, par exemple -p 3041:3030, ouvrez ce port à la place, et ajoutez http://localhost:3041 à CORS_ORIGIN de l'API.

    Terminaldans velra-website
    docker run -p 3030:3030 -e API_INTERNAL_URL=http://host.docker.internal:8000/api --add-host=host.docker.internal:host-gateway velra-website

    Résultat attendu: localhost:3030Local ouvre le site avec les annonces de votre API. L'anglais est sur /en, l'arabe sur /ar.

    Un problème ?

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.

  1. Téléchargez votre template

    Ouvrez Mes templates et téléchargez le ZIP Tableau de bord de l'agence.

  2. Décompressez et ouvrez le dossier

    Terminal
    unzip -q velra-agency-dashboard-*.zip
    cd velra-agency-dashboard

    Résultat attendu: Le dossier contient un Dockerfile et un package.json.

    Un problème ?
  3. 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 /api pour les notifications en direct, et l'adresse du site pour le lien « View website ».

    Terminaldans velra-agency-dashboard
    docker build -t velra-dashboard .

    Avec votre propre API :

    Terminaldans velra-agency-dashboard
    docker 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 ?
  4. Démarrez-le et connectez-vous

    Si le port 3031 est pris, changez le nombre à gauche de -p, par exemple -p 3041:3031, ouvrez ce port à la place, et ajoutez http://localhost:3041 à CORS_ORIGIN de l'API (et définissez-y FRONTEND_URL avec cette adresse, celle depuis laquelle se connectent les notifications en direct).

    Terminaldans velra-agency-dashboard
    docker run -p 3031:3031 velra-dashboard

    Résultat attendu: localhost:3031Local ouvre le formulaire de connexion. Connectez-vous avec admin@velra.example et le mot de passe Admin@123, qu'une API avec seed accepte.

    Un problème ?

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.

  1. Téléchargez votre template

    Ouvrez Mes templates et téléchargez le ZIP API backend.

  2. Décompressez et ouvrez le dossier

    Terminal
    unzip -q velra-backend-*.zip
    cd velra-backend

    Résultat attendu: Le dossier contient un Dockerfile, un docker-entrypoint.sh et un package.json.

    Un problème ?
  3. Construisez l'image

    Terminaldans velra-backend
    docker build -t velra-api .
    Un problème ?
  4. 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=true pour un premier démarrage. Le volume velra-api-data conserve la base et les fichiers téléversés entre les lancements. Si le port 8000 est pris, changez le nombre à gauche de -p, par exemple -p 8010:8000, et ajoutez -e PUBLIC_MEDIA_URL=http://localhost:8010/media pour que les adresses des photos l'utilisent aussi. Vos frontends doivent alors pointer vers http://localhost:8010/api.

    Terminaldans velra-backend
    docker run -p 8000:8000 -v velra-api-data:/data -e SEED_DEMO_DATA=true velra-api

    Résultat attendu: localhost:8000/api/healthLocal répond avec "status":"ok" et "database":"up".

    Un problème ?

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 :

Terminaldans velra-backend
docker run -p 8000:8000 -v velra-api-data:/data -e SEED_DEMO_DATA=true --env-file .env -e NODE_ENV=production velra-api

Une 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.

Étapes suivantes

Bloqué sur une étape ?

Trouvez une solution avant de tout recommencer.

Dépannage

Préférences des Cookies

Nous utilisons des cookies pour améliorer votre expérience de navigation, analyser le trafic du site et personnaliser le contenu. En cliquant sur "Accepter Tout", vous consentez à notre utilisation des cookies pour l'analyse et la publicité personnalisée.