Requisitos
Qué instalar antes de ejecutar tu paquete, con Docker o sin él.
Para el paquete Full Stack
Qué contiene cada paquete
| Paquete | Aplicaciones en la descarga | Funciona por sí solo |
|---|---|---|
| Full Stack | API, sitio web público, panel de la agencia | Sí, las tres juntas |
| Sitio web público | Sitio web público | No: necesita la API de Velra en marcha |
| Panel de la agencia | Panel de la agencia | No: necesita la API de Velra en marcha |
| 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 lo leen todo de la API de Velra, y el código de la API solo está en los paquetes Full Stack y API Backend.
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 enpackageManager, así queyarnelige la correcta. Si tu Node.js no tiene Corepack (Node.js 25 y posteriores lo omiten), instálalo antes 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 público | 3030 |
| Panel de la agencia | 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 la API de Velra en marcha y con los datos cargados, y su dirección la defines en su .env o la pasas como argumento de construcción. La API se vende como un paquete aparte, API Backend, y forma parte del Full Stack.
Servicios opcionales
Nada de esto hace falta para ejecutar la agencia en local. Cada uno se activa con sus variables en el .env de la API; una variable comentada mantiene su función desactivada.
| Servicio | Sin él |
|---|---|
| Cloudflare R2 u otro bucket compatible con S3 | Las subidas se guardan en el propio disco de la API (con Docker, en el volumen de datos), y la API sirve ella misma las fotos de la carga inicial. |
| Una clave de IA de Google Gemini, OpenAI o DeepSeek, cualquiera de las tres | El asistente de IA dice que necesita una clave de proveedor y enumera los tres que acepta, y no se factura nada. Todo lo demás funciona. |
| Una clave de Google Gemini, para el estudio de amueblado | El estudio de amueblado con IA dice que necesita una y no genera nada, aunque el asistente funcione con una clave de OpenAI o de DeepSeek. |
| Una clave para el servidor MCP | POST /api/mcp rechaza todas las peticiones. |
No hay que configurar ningún servicio de correo ni de pagos: las consultas y las solicitudes de visita llegan como notificaciones al panel.
Mapas
Los mapas del panel dibujan teselas de OpenFreeMap, y la búsqueda de lugares del editor de propiedades usa el servicio público Photon. Ambos necesitan conexión a internet y ninguna clave ni cuenta; ninguno promete disponibilidad, y puedes apuntarlos a tus propios servicios.