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 de pedidos, panel del personal | Sí, las tres juntas |
| Sitio web de pedidos | Sitio web de pedidos | No: necesita la API de la plantilla en marcha |
| Panel del personal | Panel del personal | No: necesita la API de la plantilla 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 la plantilla, 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. El paquete Full Stack se inicia con un solo comando
docker compose. - 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 24 o más reciente, la versión que declara cada aplicación y que usa su imagen de Docker. Comprueba la tuya con
node -v. - Yarn 4, a través de Corepack. Ejecuta
corepack enableuna vez; cada aplicación fija su propia versión de Yarn, así queyarnelige la correcta. Si tu Node.js no trae Corepack, 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 de pedidos | 3030 |
| Panel del personal | 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 la plantilla en marcha y con los datos cargados, y su dirección se configura en el .env de la aplicación. La API se vende como paquete propio, API Backend, y forma parte de Full Stack.
Servicios opcionales
Nada de esto es necesario para ejecutar el restaurante 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 |
|---|---|
| Stripe o PayPal | El pago ofrece un pago de demostración integrado que marca un pedido como pagado sin mover dinero, para probar el proceso. |
| Cloudflare R2 u otro bucket compatible con S3 | Los archivos subidos se guardan en el disco de la propia API (con Docker, en el volumen de datos), y la API sirve ella misma las imágenes de los datos de demostración. |
| Resend, para el correo | "Forgot password" responde como siempre pero no envía nada, y el registro de la API indica que el correo no está configurado. |
| Una clave de Google AI (Gemini) | El asistente de IA, el redactor de fichas del estudio y el cambio de estilo de fotos indican que no están conectados. |
| Una clave y un secreto de Higgsfield | Las fotos y los clips generados del estudio quedan desactivados. |
| El archivo del modelo de eliminación de fondo | El botón "Remove background" del estudio no aparece. Funciona en tu propio servidor, no necesita ninguna clave y no cuesta nada por imagen. |