Configuration requise
Ce qu'il faut installer avant de lancer votre pack, avec ou sans Docker, et quels services sont optionnels.
Pour le pack Full Stack
Ce que contient chaque pack
| Pack | Applications incluses dans le téléchargement | Fonctionne seul |
|---|---|---|
| Full Stack | API, site des séjours, tableau de bord des réservations | Oui, les trois ensemble |
| Site des séjours | Site des séjours | Non : il a besoin que l'API Hollina tourne |
| Tableau de bord des réservations | Tableau de bord des réservations | Non : il a besoin que l'API Hollina tourne |
| API backend | API | Oui, en servant uniquement l'API |
Un pack à application unique n'inclut pas les autres applications. Le site et le tableau de bord lisent tout dans l'API Hollina, et le code de l'API ne se trouve que dans les packs Full Stack et API backend.
Avec Docker
- Docker Desktop sous macOS ou Windows, ou Docker Engine avec le plugin Compose sous Linux, avec Docker Compose 2.24 ou plus récent, ce qu'inclut tout Docker Desktop actuel ;
docker compose versionaffiche la vôtre. La pile complète démarre avec une seule commandedocker compose, etdocker-compose.ymlne litback-end/.envque s'il existe, un réglage que les anciennes versions de Compose rejettent. - Une connexion internet pour le premier build, qui télécharge les images de base et les dépendances.
- Rien d'autre : Docker fournit Node.js, et la base de données est un fichier SQLite dans un volume Docker.
Avec Docker
- Docker Desktop sous macOS ou Windows, ou Docker Engine sous Linux. Votre application a son propre
Dockerfile; Compose n'est pas nécessaire. - Une connexion internet pour le premier build, qui télécharge l'image de base et les dépendances.
Sans Docker
- Node.js 22 ou plus récent, la version que déclare chaque application dans
engines. Les images Docker tournent sous Node.js 24. Vérifiez la vôtre avecnode -v. - Yarn 4, via Corepack. Lancez
corepack enableune fois ; chaque application fixe sa propre version de Yarn danspackageManageret livre son propreyarn.lock, doncyarninstalle exactement l'arbre avec lequel le template a été testé. Si votre Node.js n'a pas Corepack (Node.js 25 et les versions suivantes l'omettent), installez-le d'abord avecnpm install -g corepack. - Aucun package global.
Base de données
Aucun serveur de base de données. L'API utilise SQLite par défaut et yarn seed crée le fichier pour vous ; Docker utilise aussi SQLite. MySQL est pris en charge par un changement de configuration, pas de code.
Ports
Chaque application écoute sur un port local fixe. Assurez-vous que rien d'autre ne les utilise, ou, avec Docker, déplacez-en un avec SITE_PORT, ADMIN_PORT ou API_PORT dans un .env à côté de docker-compose.yml.
| Application | Port |
|---|---|
| API | 8000 |
| Site des séjours | 3030 |
| Tableau de bord des réservations | 3031 |
Port
Le site écoute sur le port 3030 et attend l'API sur 8000. Assurez-vous que rien d'autre ne les utilise.
Port
Le tableau de bord écoute sur le port 3031 et attend l'API sur 8000. Assurez-vous que rien d'autre ne les utilise.
Port
L'API écoute sur le port 8000 et accepte par défaut le site depuis 3030 et le tableau de bord depuis 3031. Assurez-vous que rien d'autre n'utilise le port 8000.
Une API à connecter
Votre application n'a aucune donnée propre. Elle a besoin que l'API Hollina tourne et ait son seed, dont vous indiquez l'adresse dans son .env ou que vous passez comme argument de build. L'API est vendue comme un pack à part, l'API backend, et fait partie du Full Stack.
Services optionnels
Aucun de ces éléments n'est nécessaire pour lancer l'activité de réservation en local. Chacun s'active par ses variables dans le .env de l'API ; une variable laissée en commentaire garde sa fonctionnalité désactivée.
| Service | Sans lui |
|---|---|
| Un compte Stripe, pour les paiements par carte | Tant qu'aucun des deux processeurs n'est configuré, les réservations par carte vont au simulateur fourni, qui les règle sans contacter personne. Avec PayPal seul, la carte n'est pas proposée. |
| Un compte PayPal professionnel, pour les paiements PayPal | Tant qu'aucun des deux processeurs n'est configuré, les réservations PayPal vont aussi au simulateur. Avec Stripe seul, PayPal n'est pas proposé. Le paiement à l'arrivée n'a besoin d'aucun compte : c'est un interrupteur dans le tableau de bord. |
| Cloudflare R2 ou un autre bucket compatible S3 | Les envois sont stockés sur le disque de l'API (avec Docker, dans le volume de données), et l'API sert elle-même les photographies du seed. |
| Une clé Google Gemini | L'assistant IA indique qu'il n'est pas encore connecté, et rien n'est facturé. Tout le reste fonctionne. |
| Une clé pour le serveur MCP | POST /api/mcp refuse toutes les requêtes. |
Il n'y a aucun service de messagerie à configurer : l'API n'envoie aucun e-mail. Le voyageur voit ce qui s'est passé sur la page où il se trouve, et l'équipe de l'hôte est prévenue par les notifications du tableau de bord.
Cartes
La page d'un séjour dessine sa carte de la zone approximative avec le style Positron d'OpenFreeMap, qui demande une connexion internet mais ni clé ni compte. Il ne promet aucune disponibilité, et NEXT_PUBLIC_MAP_STYLE_LIGHT et NEXT_PUBLIC_MAP_STYLE_DARK orientent la carte vers un autre style MapLibre.