Guía completa

Instalación, uso diario, copias de seguridad y resolución de problemas — paso a paso, sin necesidad de saber de tecnología.

Dos formas de instalar

OficinaOS es siempre el mismo programa — la diferencia está en cómo se ejecuta en el PC de la tienda. El instalador elige el camino correcto solo, pero conviene entender los dos:

Docker es la forma normal y recomendada: un programa gratuito que empaqueta la app y la base de datos en «contenedores» aislados. Necesita una función del procesador llamada virtualización — la mayoría de los PCs la tienen, pero algunos la traen desactivada en la BIOS o no la soportan.

El modo portátil existe para esos PCs: trae todo en un único paquete (la app, la base de datos PostgreSQL y el runtime), sin Docker, sin virtualización y sin servicios de Windows.

Docker (recomendado) Portátil (alternativa)
Cuándo usarlo Siempre que sea posible PCs sin virtualización (VT-x/SVM)
Requisitos Docker Desktop + virtualización en BIOS Cualquier Windows 10/11 64-bit
Descarga ~1 GB (Docker + app) ~540 MB (todo incluido)
Arranque con el PC Automático Automático (opcional, se pregunta la 1ª vez)
Si la app falla Se reinicia sola Se reinicia sola (wrapper)
Copias de seguridad Diarias, automáticas (cada 24h) En cada arranque + BACKUP.bat manual
Copias fuera del PC Soportado (rclone → S3/B2/GCS) Manual — copiar la carpeta de backups
Actualizaciones Solo descarga lo que cambió; automático opcional Descarga el paquete entero; siempre manual
Acceso remoto (HTTPS) Cloudflare Tunnel incluido Cloudflare Tunnel instalado aparte

Instalación normal — Docker (una vez, ~10 minutos)

Descarga el instalador ZIP, extráelo en una carpeta (ej.: C:\OficinaOS) y haz doble clic en INSTALAR.bat. Si Windows Defender SmartScreen avisa: «Más información» → «Ejecutar de todas formas».

El instalador lo hace todo: comprueba si el PC puede ejecutar Docker, instala Docker Desktop si falta, genera las contraseñas y secretos, descarga la app y la arranca. Si pide reiniciar, reinicia y ejecuta INSTALAR.bat otra vez.

Al final el navegador se abre en http://localhost:4000. Primer acceso: usuario admin, contraseña braindead — la app obliga a cambiar ambos.

En Linux o Mac no hay instalador automático — se usa Docker directamente:


              git clone https://github.com/braindeadpt/OficinaOS.git
cd OficinaOS && cp .env.example .env
docker compose up -d
docker compose exec app bun run db:seed
            

El error «virtualization support not detected»

Si el PC no puede ejecutar Docker, el instalador lo detecta antes de intentarlo y ofrece dos opciones:

  • Activarlo en la BIOS — reiniciar, pulsar F2/F10/DEL/ESC al arrancar, buscar «Intel VT-x», «Virtualization Technology» o «SVM Mode», activar y guardar (F10). Después funciona el camino Docker normal.
  • Instalación portátil — el instalador descarga oficinaos-portable.zip (~540 MB) y arranca sin Docker: la misma app, la misma base de datos, las mismas funciones.

Día a día — encender, apagar, archivos

Una vez instalado, el día a día es doble clic en un archivo. Los nombres son iguales en los dos modos — solo cambia la carpeta donde están:

  • Modo Docker: en la carpeta donde extrajiste el instalador.
  • Modo portátil: dentro de la carpeta oficinaos-portable — los datos viven en data\, las copias en app\uploads\backups.
  • Otros dispositivos de la tienda (tablet, móvil, otro PC) no instalan nada — abren http://<IP-del-PC>:4000 en el navegador.
Archivo Para qué
INICIAR.bat Encender OficinaOS — abre el navegador al final
PARAR.bat Apagar — los datos quedan guardados
ATUALIZAR.bat Actualizar a la versión más reciente
BACKUP.bat (solo portátil) Copia de seguridad manual
RESTAURAR.bat (solo portátil) Restaurar la base de datos desde una copia

Copias de seguridad y restauración

Las copias son archivos comprimidos (.sql.gz) con toda la base de datos. La app muestra el estado de la última copia en Ajustes → Tienda → Copias de seguridad — funciona igual en los dos modos.

En modo Docker un servicio dedicado hace una copia cada 24 horas, guarda 14 días, y opcionalmente copia a almacenamiento externo (S3, Backblaze, etc.) y prueba la restauración automáticamente.

En modo portátil la copia se hace en cada arranque y con BACKUP.bat. Restaurar se hace con RESTAURAR.bat (elige un archivo de backups). Como no hay copia fuera del PC automática, copia la carpeta app\uploads\backups a un disco externo o USB — las copias en el mismo disco no protegen contra avería, robo o ransomware.

Actualizaciones

La app avisa arriba cuando hay una versión nueva. Para actualizar basta doble clic en ATUALIZAR.bat — hace copia, descarga la versión nueva y reinicia. Las migraciones de la base de datos corren solas.

Diferencia práctica: en Docker solo se descarga lo que cambió; en portátil se descarga el paquete entero (~540 MB). En Docker puedes activar actualizaciones 100% automáticas (Watchtower).

En la tienda — móviles, tablets y PCs

Cualquier aparato conectado al Wi-Fi de la tienda abre la app en el navegador — sin instalar nada. Solo hay que escribir la dirección que da la instalación e iniciar sesión:

Funciona sin internet para el uso diario. Guarda la dirección en favoritos — siempre es la misma.


              http://192.168.1.33:4000   # la dirección del PC servidor
            

Icono en la pantalla del móvil

Para abrir con un toque, como una app normal — tarda 10 segundos:

  • iPhone/iPad: Safari → botón Compartir → «Añadir a pantalla de inicio»
  • Android: Chrome → menú ⋮ → «Añadir a pantalla de inicio»
  • Con acceso remoto activo, Android puede llegar a ofrecer «Instalar aplicación» — instalación real

Fuera de la tienda — acceso remoto

Con el PC de la tienda encendido, un Cloudflare Tunnel gratuito da a la tienda una dirección https:// propia — sin tocar el router, funciona con cualquier operadora, incluso las que bloquean puertos (CGNAT).

Sirve para que el equipo consulte la app fuera de la tienda y para que los enlaces de los clientes — seguimiento, presupuestos, QR de garantía — abran en cualquier parte.

  • Crear cuenta gratis en Cloudflare + un dominio (~10 €/año)
  • En el panel Zero Trust: crear el túnel y copiar el token
  • Dos líneas en el archivo .env y reiniciar la app
  • En la app: Ajustes → Tienda → URL base de seguimiento → la dirección pública

Privado por defecto

El túnel es opcional: la app funciona al 100% en la red local incluso sin internet. Los datos de los clientes se quedan en la tienda — Cloudflare solo transporta el tráfico cifrado mientras el túnel está activo.

Quien quiera una barrera extra puede activar Cloudflare Access (gratis): email + código antes del login, manteniendo abiertas las páginas públicas de los clientes.

Problemas comunes

Las situaciones más frecuentes y cómo resolver cada una:

Síntoma Qué hacer
SmartScreen avisa al instalar «Más información» → «Ejecutar de todas formas» — es un archivo nuevo sin reputación, no un virus
«Virtualization support not detected» El instalador ofrece las dos opciones: activar en BIOS o usar el modo portátil
Windows pide reiniciar durante la instalación Reiniciar y ejecutar INSTALAR.bat otra vez — es normal al instalar Docker
El firewall de Windows pregunta Elegir «Permitir» en red privada
Página en blanco / no abre Ctrl+F5; comprobar que la dirección es http:// (no https://)
«Invalid username or password» El acceso es por usuario (admin), no por email
El PC cambió de IP y los demás dispositivos no conectan Actualizar APP_URL en .env (Docker) o borrar .env y ejecutar INSTALAR.bat de nuevo
Puerto 4000 ocupado (portátil) Cambiar PORT en app\.env
Postgres no arranca (portátil) Ver data\postgres.log; puerto 5433 ocupado → cambiarlo en data\postgresql.conf y en .env
Desinstalar todo PARAR.bat + borrar la carpeta (portátil); docker compose down -v + borrar la carpeta (Docker). Ojo: borra la base de datos — hacer copia antes

Documentación completa

Esta guía cubre lo esencial. El repositorio en GitHub tiene la documentación técnica completa — instalación detallada, acceso remoto, móviles, copias con réplica externa y el funcionamiento interno del paquete portátil: