📦 Tutorial

Instalación de ROOT POS

Cómo instalar y poner en marcha el sistema en una computadora con Windows. Hay dos formas: con el ejecutable de Windows (recomendada, sin conocimientos técnicos) o desde el código fuente (para desarrolladores).

1. Requisitos

RequisitoDetalle
Sistema operativoWindows 10 o Windows 11
Memoria RAM4 GB o más recomendado
NavegadorChrome, 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)
✅ ROOT POS no necesita internet para funcionar: todo corre en tu computadora y los datos se guardan localmente.

2. Opción A — Instalación con el ejecutable de Windows

Con el instalador (recomendado)

Si tienes el archivo Setup_ROOT_POS.exe:

  1. Ejecútalo con doble clic (no requiere permisos de administrador).
  2. 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.
  3. Elige si quieres icono en el escritorio y arranque automático con Windows.
  4. Al terminar, el sistema queda instalado en C:\Users\<tu usuario>\AppData\Local\ROOT_POS y 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

  1. Copia la carpeta ROOT_POS (la que contiene ROOT_POS.exe) a un lugar fijo de tu PC donde tu usuario pueda escribir, por ejemplo C:\ROOT_POS (evita C:\Program Files).
  2. No la muevas después de configurarla: la base de datos y la configuración viven junto al ejecutable.
  3. Ten a la mano tu licencia: puedes colocar el archivo license.lic junto a ROOT_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

  1. En la misma carpeta encontrarás un archivo llamado .env.example.
  2. Haz una copia y renómbrala a .env (sin nada antes del punto).
  3. Á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=
💡 ROOT_POS_SECRET_KEY debe ser una cadena larga y única (mínimo 32 caracteres). Sirve para proteger las sesiones. No la compartas ni la cambies después de instalar.

Paso 3: Arranca el sistema

  1. Haz doble clic en ROOT_POS.exe.
  2. El programa prepara la base de datos automáticamente en el primer arranque.
  3. Abre tu navegador en http://localhost:3000.
  4. Sigue el asistente de primer uso (nombre del negocio, logo y cuenta de administrador). Los detalles están en el Manual de usuario.
💡 Consejo: crea un acceso directo de 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)

VariableQué haceValor típico
APP_ENVModo de ejecuciónproduction
ROOT_POS_DEBUGMensajes de depuración (0 = apagado)0
ROOT_POS_SECRET_KEYClave secreta para proteger sesiones(cadena larga aleatoria)
ROOT_POS_ADMIN_USERNAMEUsuario administrador inicialadmin
ROOT_POS_ADMIN_PASSWORDContraseña inicial (puede dejarse vacía y definirse en el asistente)(vacío)
ROOT_POS_DB_URLUbicación de la base de datossqlite:///reflex.db
ROOT_POS_LAN_ENABLEDPermitir acceso desde otros dispositivos de la red1
ROOT_POS_BACKEND_HOSTDirección del servidor (0.0.0.0 = visible en la red local)0.0.0.0
ROOT_POS_FRONTEND_PORTPuerto de la pantalla del sistema3000
ROOT_POS_BACKEND_PORTPuerto del motor interno8000
ROOT_POS_ALLOWED_ORIGINSOrígenes adicionales permitidos (avanzado)(vacío)
ROOT_POS_TELEMETRY_ENABLEDTelemetría de Reflex (0 = apagada)0
ROOT_POS_LOG_LEVELNivel de detalle de los registrosinfo

5. Acceso desde celulares y tablets (red local)

  1. Verifica que en .env estén ROOT_POS_LAN_ENABLED=1 y ROOT_POS_BACKEND_HOST=0.0.0.0.
  2. Averigua la IP de la PC servidor: en PowerShell escribe ipconfig y busca "Dirección IPv4" (ejemplo: 192.168.1.84).
  3. En el celular/tablet (conectado al mismo WiFi), abre: http://192.168.1.84:3000.
  4. También puedes ir al módulo Dispositivos dentro del sistema y escanear el código QR de vinculación.
⚠️ Si Windows pregunta por el Firewall la primera vez, permite el acceso en redes privadas.

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:

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

No puedo entrar desde el celular

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.