1. Requisitos
| Requisito | Detalle |
|---|---|
| Sistema operativo | Windows 10 o Windows 11 |
| Memoria RAM | 4 GB o más recomendado |
| Navegador | Chrome, Edge o Firefox actualizado |
| Red local (opcional) | Solo si quieres usar el sistema desde celulares o tablets |
| Python 3.11+ | Solo para la Opción B (código fuente) |
2. Opción A — Instalación con el ejecutable de Windows
Con el instalador (recomendado)
Si tienes el archivo Setup_ROOT_POS.exe:
- Ejecútalo con doble clic (no requiere permisos de administrador).
- Cuando el asistente lo pida, selecciona tu archivo de licencia (
license.lic). Si aún no lo tienes, el asistente te muestra el ID de equipo que debes enviar a tu proveedor; puedes continuar y colocar la licencia después. - Elige si quieres icono en el escritorio y arranque automático con Windows.
- Al terminar, el sistema queda instalado en
C:\Users\<tu usuario>\AppData\Local\ROOT_POSy se abre solo.
Con el instalador puedes saltar directo al Paso 3: Arranca el sistema. Cómo funciona la licencia está explicado en la guía de licencias.
Instalación manual (sin instalador)
Paso 1: Copia el programa
- Copia la carpeta
ROOT_POS(la que contieneROOT_POS.exe) a un lugar fijo de tu PC donde tu usuario pueda escribir, por ejemploC:\ROOT_POS(evitaC:\Program Files). - No la muevas después de configurarla: la base de datos y la configuración viven junto al ejecutable.
- Ten a la mano tu licencia: puedes colocar el archivo
license.licjunto aROOT_POS.exe, o simplemente abrir el programa y activarla en la ventana de activación que aparece (pegar el código o seleccionar el archivo). Ver guía de licencias.
Paso 2: Crea el archivo de configuración
- En la misma carpeta encontrarás un archivo llamado
.env.example. - Haz una copia y renómbrala a
.env(sin nada antes del punto). - Ábrela con el Bloc de notas y revisa los valores (ver la tabla de configuración). Lo mínimo indispensable:
APP_ENV=production
ROOT_POS_SECRET_KEY=escribe-aqui-una-clave-larga-y-aleatoria
ROOT_POS_ADMIN_USERNAME=admin
ROOT_POS_ADMIN_PASSWORD=
Paso 3: Arranca el sistema
- Haz doble clic en
ROOT_POS.exe. - El programa prepara la base de datos automáticamente en el primer arranque.
- Abre tu navegador en http://localhost:3000.
- Sigue el asistente de primer uso (nombre del negocio, logo y cuenta de administrador). Los detalles están en el Manual de usuario.
ROOT_POS.exe en el escritorio o en la carpeta de Inicio de Windows para que arranque al encender la PC. Si usaste el instalador, esto se configura solo.3. Opción B — Instalación desde el código fuente
Paso 1: Instala Python
Descarga Python 3.11 o superior desde python.org y, durante la instalación, marca la casilla "Add Python to PATH".
Paso 2: Prepara el proyecto
Abre una terminal (PowerShell) dentro de la carpeta del proyecto y ejecuta:
# Crear un entorno virtual (recomendado)
python -m venv .venv
.\.venv\Scripts\Activate.ps1
# Instalar dependencias
pip install -r requirements.txt
Paso 3: Configura el entorno
Copy-Item .env.example .env
notepad .env
Revisa los valores según la tabla de configuración.
Paso 4: Inicializa la base de datos
python init_db.py
Este comando crea la base de datos (reflex.db por defecto), aplica las migraciones y, si el sistema está vacío, te guía para crear el usuario administrador.
Paso 5: Arranca la aplicación
Para uso diario (modo producción):
.\run_production.bat
Para desarrollo:
reflex run
Abre http://localhost:3000 en tu navegador.
(Opcional) Generar el ejecutable y el instalador
Si quieres producir tu propio ROOT_POS.exe para instalarlo en otras máquinas:
python build_windows.py
Al terminar, el programa queda en dist\ROOT_POS\ROOT_POS.exe. Para generar además el instalador Setup_ROOT_POS.exe, compila installer\setup.iss con Inno Setup 6:
& "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" installer\setup.iss
4. Archivo de configuración (.env)
| Variable | Qué hace | Valor típico |
|---|---|---|
APP_ENV | Modo de ejecución | production |
ROOT_POS_DEBUG | Mensajes de depuración (0 = apagado) | 0 |
ROOT_POS_SECRET_KEY | Clave secreta para proteger sesiones | (cadena larga aleatoria) |
ROOT_POS_ADMIN_USERNAME | Usuario administrador inicial | admin |
ROOT_POS_ADMIN_PASSWORD | Contraseña inicial (puede dejarse vacía y definirse en el asistente) | (vacío) |
ROOT_POS_DB_URL | Ubicación de la base de datos | sqlite:///reflex.db |
ROOT_POS_LAN_ENABLED | Permitir acceso desde otros dispositivos de la red | 1 |
ROOT_POS_BACKEND_HOST | Dirección del servidor (0.0.0.0 = visible en la red local) | 0.0.0.0 |
ROOT_POS_FRONTEND_PORT | Puerto de la pantalla del sistema | 3000 |
ROOT_POS_BACKEND_PORT | Puerto del motor interno | 8000 |
ROOT_POS_ALLOWED_ORIGINS | Orígenes adicionales permitidos (avanzado) | (vacío) |
ROOT_POS_TELEMETRY_ENABLED | Telemetría de Reflex (0 = apagada) | 0 |
ROOT_POS_LOG_LEVEL | Nivel de detalle de los registros | info |
5. Acceso desde celulares y tablets (red local)
- Verifica que en
.envesténROOT_POS_LAN_ENABLED=1yROOT_POS_BACKEND_HOST=0.0.0.0. - Averigua la IP de la PC servidor: en PowerShell escribe
ipconfigy busca "Dirección IPv4" (ejemplo:192.168.1.84). - En el celular/tablet (conectado al mismo WiFi), abre:
http://192.168.1.84:3000. - También puedes ir al módulo Dispositivos dentro del sistema y escanear el código QR de vinculación.
Cámara y Face ID en la red local (HTTPS)
Los navegadores bloquean la cámara cuando se accede por http:// desde otro dispositivo. Si necesitas la cámara (por ejemplo para Face ID), el sistema debe abrirse por https://. El proyecto incluye scripts para esto (ver LOCAL_HTTPS.md en la carpeta del proyecto):
# Configuración inicial (una sola vez)
.\scripts\setup-local-https.ps1
# Arranque diario: terminal 1
.\scripts\run-reflex-lan-https.ps1
# Arranque diario: terminal 2
.\scripts\run-caddy-lan-https.ps1
6. Respaldos
Toda la información vive en el archivo de base de datos (reflex.db por defecto) y las imágenes subidas en la carpeta uploaded_files.
Para respaldar: cierra ROOT POS y copia esos dos elementos a una USB o a la nube. Hazlo al menos una vez por semana.
Para restaurar: cierra ROOT POS y reemplaza reflex.db y uploaded_files con tu copia de respaldo.
7. Solución de problemas
"No se puede iniciar ROOT POS porque uno o más puertos requeridos ya están en uso"
Otro programa (o una copia previa de ROOT POS) ocupa el puerto 3000 u 8000. El mensaje te muestra el PID del proceso. Opciones:
- Cierra ese proceso:
taskkill /PID <numero> /F - O cambia
ROOT_POS_FRONTEND_PORT/ROOT_POS_BACKEND_PORTen el.env.
Aparece la ventana "Activa tu licencia de ROOT POS"
El sistema no encontró una licencia válida. La misma ventana muestra tu ID de equipo con botón de copiar: envíaselo a tu proveedor para que emita o renueve tu licencia, y cuando la recibas pégala en esa ventana (o selecciona el archivo license.lic) y presiona Activar. Detalles en la guía de licencias.
La página no carga en http://localhost:3000
- Espera unos segundos: el primer arranque tarda más.
- Verifica que
ROOT_POS.exe(orun_production.bat) siga abierto. - Revisa la carpeta
logsjunto al programa para ver el error exacto.
No puedo entrar desde el celular
- El celular debe estar en el mismo WiFi que la PC.
- Verifica
ROOT_POS_BACKEND_HOST=0.0.0.0yROOT_POS_LAN_ENABLED=1en.env. - Revisa el Firewall de Windows (permitir en redes privadas).
Olvidé la contraseña del administrador
Desde la carpeta del proyecto (Opción B) ejecuta python create_admin.py para crear/restablecer un administrador. Si usas el ejecutable, contacta a tu proveedor de soporte.