Requisitos
Qué instalar antes de ejecutar tu paquete, con Docker o sin él, y qué servicios son opcionales.
Para el paquete Full Stack
Qué contiene cada paquete
| Paquete | Aplicaciones en la descarga | Funciona por sí solo |
|---|---|---|
| Full Stack | API, sitio web de alojamientos, panel de reservas | Sí, las tres juntas |
| Stays Website | Sitio web de alojamientos | No: necesita que la API de Hollina esté en ejecución |
| Booking Dashboard | Panel de reservas | No: necesita que la API de Hollina esté en ejecución |
| API Backend | API | Sí, solo sirve la API |
Un paquete de una sola aplicación no incluye las otras aplicaciones. El sitio web y el panel leen todo de la API de Hollina, y el código de la API solo está en los paquetes Full Stack y Backend API.
Con Docker
- Docker Desktop en macOS o Windows, o Docker Engine con el plugin de Compose en Linux, con Docker Compose 2.24 o más reciente, que incluye todo Docker Desktop actual;
docker compose versionmuestra la tuya. La pila completa se inicia con un solo comandodocker compose, ydocker-compose.ymlleeback-end/.envsolo cuando existe, un ajuste que las versiones antiguas de Compose rechazan. - Una conexión a internet para la primera construcción, que descarga las imágenes base y las dependencias.
- Nada más: Docker incluye Node.js, y la base de datos es un archivo SQLite dentro de un volumen de Docker.
Con Docker
- Docker Desktop en macOS o Windows, o Docker Engine en Linux. Tu aplicación tiene su propio
Dockerfile; no necesitas Compose. - Una conexión a internet para la primera construcción, que descarga la imagen base y las dependencias.
Sin Docker
- Node.js 22 o más reciente, la versión que declara cada aplicación en
engines. Las imágenes de Docker funcionan con Node.js 24. Comprueba la tuya connode -v. - Yarn 4, mediante Corepack. Ejecuta
corepack enableuna vez; cada aplicación fija su propia versión de Yarn enpackageManagery trae su propioyarn.lock, así queyarninstala exactamente el árbol con el que se probó la plantilla. Si tu Node.js no tiene Corepack (Node.js 25 y posteriores lo omiten), instálalo primero connpm install -g corepack. - Ningún paquete global.
Base de datos
Ningún servidor de base de datos. La API usa SQLite por defecto y yarn seed crea el archivo por ti; Docker también usa SQLite. MySQL se admite con un cambio de configuración, no de código.
Puertos
Cada aplicación escucha en un puerto local fijo. Asegúrate de que nada más los use o, con Docker, mueve uno con SITE_PORT, ADMIN_PORT o API_PORT en un .env junto a docker-compose.yml.
| Aplicación | Puerto |
|---|---|
| API | 8000 |
| Sitio web de alojamientos | 3030 |
| Panel de reservas | 3031 |
Puerto
El sitio web escucha en el puerto 3030 y espera la API en el 8000. Asegúrate de que nada más los use.
Puerto
El panel escucha en el puerto 3031 y espera la API en el 8000. Asegúrate de que nada más los use.
Puerto
La API escucha en el puerto 8000 y, por defecto, acepta el sitio web desde el 3030 y el panel desde el 3031. Asegúrate de que nada más use el puerto 8000.
Una API a la que conectarse
Tu aplicación no tiene datos propios. Necesita que la API de Hollina esté en ejecución y con datos iniciales, y su dirección se define en su .env o se pasa como argumento de construcción. La API se vende como su propio paquete, Backend API, y forma parte del Full Stack.
Servicios opcionales
Ninguno de estos hace falta para ejecutar el negocio de reservas en local. Cada uno se activa con sus variables en el .env de la API; una variable que se deja comentada mantiene su función desactivada.
| Servicio | Sin él |
|---|---|
| Una cuenta de Stripe, para los pagos con tarjeta | Mientras no haya ningún procesador configurado, las reservas con tarjeta van al simulador incluido, que las liquida sin contactar con nadie. Con PayPal solo, no se ofrece la tarjeta. |
| Una cuenta de empresa de PayPal, para los pagos con PayPal | Mientras no haya ningún procesador configurado, las reservas con PayPal también van al simulador. Con Stripe solo, no se ofrece PayPal. El pago a la llegada no necesita ninguna cuenta: es un interruptor en el panel. |
| Cloudflare R2 u otro bucket compatible con S3 | Las subidas se guardan en el disco de la propia API (con Docker, en el volumen de datos), y la API sirve ella misma las fotografías de la carga inicial. |
| Una clave de Google Gemini | El asistente de IA dice que aún no está conectado, y no se factura nada. Todo lo demás funciona. |
| Una clave para el servidor MCP | POST /api/mcp rechaza todas las peticiones. |
No hay ningún servicio de correo que configurar: la API no envía correos. Un huésped ve lo que ocurrió en la página en la que está, y al equipo anfitrión se le avisa en las notificaciones del panel.
Mapas
La página del alojamiento dibuja su mapa de la zona aproximada con el estilo Positron de OpenFreeMap, que necesita conexión a internet y ninguna clave ni cuenta. No promete disponibilidad, y NEXT_PUBLIC_MAP_STYLE_LIGHT y NEXT_PUBLIC_MAP_STYLE_DARK apuntan el mapa a otro estilo de MapLibre.