LGM-OS
version 1.27.9

Your NAS, on Debian 12

Turns a PC with disks into a complete NAS, administered 100 % from the browser. It installs from our own ISO and depends on no cloud to work: the data, the panel and the backups are yours and live on your machine. A lifetime licence, one single payment, updates included.

One payment, forever

A lifetime licence with updates included: you pay once and it is yours. No subscription and no fees. And the NAS never locks up, not even if it loses its internet connection.

Everything from the browser

Disks, folders, users, apps, virtual machines, cameras and backups. A windowed desktop in light and dark, and it installs as an app.

It updates itself

No need to run the ISO again. The update builds and checks before promoting, and if the panel does not answer afterwards, it rolls itself back.

And on your phone, an app

It is not the desktop squeezed down: on narrow screens the panel changes shape.

The home screen The home screen, dark theme
The home screen
An app open An app open, dark theme
An app open

A home screen with the icons, the app taking the whole screen and a bar at the bottom to go back, switch apps or see the widgets. Going home closes nothing. You add it to your phone's home screen and it opens without the browser bar, like any other app.

What it can do

Twelve areas, and what is inside each one.

Storage

  • Todo lo que crece vive en la pool: datos de las aplicaciones, imágenes de Docker y discos de las máquinas virtuales se mudan solos al crearla
  • Pools ZFS y Btrfs con asistente RAID
  • datasets con cuota y compresión
  • snapshots manuales y programados con retención
  • SMART, self-tests y scrubs
  • sustituir un disco averiado o ampliar el pool desde la interfaz

Usuarios

  • Una persona, una cuenta, una contraseña: la misma vale para el panel, las carpetas compartidas, SSH/SFTP y WebDAV — cambiarla en un sitio la cambia en todos
  • diálogo por persona al estilo DSM con cuatro pestañas: Información (contraseña y acceso al panel), Aplicaciones (qué servicios usa), Grupos y Permisos (matriz de carpetas con el permiso que le llega por sus grupos)
  • grupos con miembros
  • política de contraseñas (longitud, complejidad y caducidad; la complejidad viene apagada a propósito)
  • «mantener la sesión iniciada»

Directorio (AD/LDAP)

  • Unir el NAS a un Active Directory, FreeIPA o LDAP+Kerberos que ya exista (realmd/sssd): los usuarios del dominio pasan a existir en el equipo y se les dan permisos en las carpetas
  • opcional y apagado de fábrica: que las carpetas compartidas acepten cuentas del dominio (winbind con los mismos uid que sssd) y que esas cuentas entren al panel con su contraseña de empresa, siempre como «solo ver»
  • la contraseña del dominio jamás se copia al NAS y el ticket se comprueba contra la clave de máquina del keytab, así que un KDC falso en la red no cuela

Files

  • Carpetas compartidas con permisos por usuario y grupo
  • SMB (papelera #recycle por carpeta y Time Machine), NFS y WebDAV con usuarios unificados
  • rsync como servidor: otro NAS deja aquí sus copias con su propio usuario y contraseña, solo en las carpetas que marques
  • el NAS aparece solo en «Red» de Windows y en el Finder (WS-Discovery y Bonjour), con nombre y grupo de trabajo configurables
  • SFTP enjaulado: acceso remoto a los archivos de un usuario sin darle terminal ni salida del sistema
  • clientes NFS por IP (solo los equipos que autorices montan la carpeta)
  • gestor de archivos web al estilo DSM: enseña las carpetas compartidas del usuario, nunca el árbol del sistema
  • arrastrar-soltar, menú contextual completo, papelera, búsqueda instantánea (un índice de nombres se mantiene solo en segundo plano, así que buscar no recorre el disco ni devuelve resultados a medias; sin índice al día se recorre como siempre) y dentro del contenido de los documentos, vista previa de fotos, vídeo, audio, PDF y texto, comprimir y extraer ZIP/TAR y enlaces públicos con caducidad y contraseña
  • Bloc de notas: abrir y guardar un .txt, un .md o un .conf del NAS desde el navegador —con números de línea, buscar y reemplazar y vista de Markdown— sin bajarlo al equipo ni entrar por el terminal

Fotos y vídeos

  • App Galería: las fotos y los vídeos de tus carpetas, en una línea de tiempo por meses
  • se indexan solos en segundo plano (SQLite propio) y los vídeos entran igual que las fotos, con un fotograma de miniatura
  • lo que sale de un móvil o de una cámara buena, tal cual: JPEG, PNG, WebP, AVIF, GIF, TIFF, HEIC/HEIF del iPhone y RAW de cámara (.cr2/.cr3, .nef, .arw, .rw2, .orf, .raf… y el ProRAW .dng), enseñando la vista previa que la propia cámara dejó dentro
  • Live Photos: la foto y su vídeo de tres segundos son UN elemento, con su movimiento en el visor, no dos casillas repetidas
  • álbumes de verdad —una foto puede estar en varios— que se crean, se renombran y se descargan en un zip sin mover un archivo del disco
  • favoritas con su filtro
  • visor con flechas, giro, zoom y pantalla completa, y el vídeo se reproduce por trozos (uno de 3 GB no llena la memoria del móvil ni impide saltar a un minuto concreto)
  • subir desde la propia app
  • buscador de duplicados que agrupa lo repetido y nunca deja borrar la última copia
  • borrar va a la papelera del NAS

Backups

  • Copia de tus datos fuera del equipo: rsync incremental (--link-dest) a un disco USB, otro pool o un servidor remoto por SSH
  • y a la nube (Google Drive, OneDrive, Dropbox, Box, pCloud, MEGA, WebDAV, S3, Wasabi, MinIO y Backblaze B2), conectando la cuenta desde el propio panel
  • cifrado de extremo a extremo en la nube: nombres y contenido se cifran en el NAS antes de subir y el proveedor no puede leer nada, con frase de recuperación que se enseña una sola vez
  • Object Lock en S3: cada archivo sube bloqueado y ni la propia cuenta puede borrarlo antes de tiempo
  • retención inteligente (todas las de 24 h → diarias 7 días → semanales 4 semanas → mensuales 12 meses), o por versiones o por días
  • explorador de la copia: se entra en cualquier versión como en una carpeta y se restaura entera o un archivo suelto
  • comprobación de integridad: lee la copia entera del destino y avisa si no cuadra con lo apuntado
  • velocidad y tiempo restante en vivo durante la copia
  • historial de cada ejecución
  • copia aparte de la configuración del sistema

Vigilancia

  • App Cámaras: encuentra las cámaras de la red por ONVIF y les pregunta su propia dirección de vídeo
  • alta por marca (Hikvision, Dahua, Reolink, Tapo, Foscam, Axis…) o pegando el RTSP
  • directo sin recodificar con menos de un segundo de retraso, y una sola conexión por cámara aunque miren varios a la vez (con MJPEG de respaldo para las cámaras en H.265)
  • grabación continua en trozos sin recodificar, con retención por días y tope de tamaño
  • un servicio por cámara, así que una que falle no arrastra a las demás

Against ransomware

  • Candado en los snapshots (zfs hold): un snapshot protegido no lo borra el panel, ni la limpieza por antigüedad, ni zfs destroy como root — que es lo primero que hace quien secuestra un NAS. Ver docs/ransomware.md

Diagnóstico

  • Comprobación por servicio: panel, almacenamiento, SMB, NFS, WebDAV, SSH, Docker, copias y cámaras se revisan de verdad (unidad systemd viva, puerto escuchando, regla del cortafuegos, configuración coherente) y cada fallo viene con qué hacer. No lee la intención guardada: mira el sistema
  • pruebas de red que salen fuera: ping, comprobar un puerto de cualquier equipo y medir la velocidad de bajada real

Informe de espacio

  • Analiza una carpeta y enseña en qué se va el disco: carpetas más grandes, archivos más grandes y archivos duplicados (detectados por contenido, no solo por tamaño) con cuánto se liberaría
  • el análisis corre en segundo plano y está acotado para no leer terabytes

Historial de métricas

  • CPU, memoria, red y disco en una serie temporal ligera (una muestra por minuto en SQLite propio), por hora/día/semana/mes
  • los rangos largos se agregan para que la gráfica pese igual siempre

Access from the internet

  • DDNS
  • certificados de Let's Encrypt con certbot y renovación automática, por HTTP o por DNS (DNS-01 con Cloudflare: sin abrir puertos y con comodines)
  • proxy inverso Apache que publica el panel y las apps por subdominio dejando 80/443 como única superficie expuesta

Network services

  • VPN WireGuard «se configura sola»: detecta la dirección pública, propone el DNS y avisa si un cliente no llegaría a la red de casa
  • perfiles por dispositivo y código QR
  • servidor DNS con nombres locales y caché
  • servidor DHCP con reservas por MAC (ambos sobre dnsmasq)

Aplicaciones

  • Tienda estilo App Store: portada con destacados y estanterías por categoría, buscador con ranking por relevancia (sin acentos y multi-palabra), scroll infinito y ficha por app
  • 30 recetas propias con su logo oficial (Jellyfin, Plex, Nextcloud, Vaultwarden, Home Assistant, PhotoPrism, Paperless-ngx, Pi-hole, AdGuard, *arr, Syncthing, Gitea…) y catálogos comunitarios que el NAS convierte solo: Community Applications de Unraid (~2000 apps) y tiendas CasaOS/ZimaOS
  • los datos de cada app viven dentro del pool
  • el puerto web se abre en el cortafuegos al instalar
  • editor visual de puertos y carpetas (sin tocar el compose) además del editor de la receta
  • Docker integrado (logs en vivo, CPU/RAM) y los contenedores creados a mano también salen como apps

Virtual machines

  • App VM: crear, arrancar y eliminar máquinas sobre KVM/libvirt
  • instalación desde una .iso de tus carpetas
  • pantalla (VNC) dentro del panel, publicada solo en el propio equipo

Sistema

  • Red estática/DHCP/VLAN
  • agregado de tarjetas (bond) por redundancia o velocidad
  • rutas estáticas, DNS manual del propio NAS (lo que pide unirse a un dominio) y proxy de salida para las descargas del NAS y de Docker
  • los discos aparecen al enchufarlos (udev, sin recargar)
  • modo quiosco: el servidor arranca mostrando el panel a pantalla completa en su propio monitor
  • autoactualización de LGM-OS desde git (repositorio de origen configurable desde el panel)
  • SAI/UPS por NUT con apagado ordenado (cierra las máquinas virtuales y los contenedores, vuelca a disco y solo entonces apaga)
  • SNMP
  • zona horaria y NTP
  • dispositivos USB
  • terminal web con sesión root previa re-autenticación
  • alertas por email, webhook, Telegram, Discord y ntfy, eligiendo qué nivel sale por dónde y qué espera al resumen diario
  • umbrales de disco, CPU sostenida y temperatura
  • tareas automáticas: limpiar temporales, organizar descargas y ordenar series
  • registros y auditoría, descargables ya filtrados

Security

  • 2FA TOTP
  • roles admin/viewer
  • política de contraseñas
  • firewall nftables que abre y cierra los puertos con cada servicio (SMB, NFS, WebDAV, SSH, SNMP, rsync, VPN, descubrimiento) y se pone al día al arrancar
  • asesor de seguridad
  • bloqueo automático de IPs, también por SSH (lo aplica el cortafuegos, no solo el panel)
  • sesiones conectadas revocables

Licencia

  • De pago único y vitalicia, con las actualizaciones incluidas
  • la clave va firmada (Ed25519) y se verifica en el propio equipo, sin internet; si hay conexión, comprueba de vez en cuando que no se haya revocado
  • vinculada a ti, no a la máquina: si el equipo se estropea, la misma clave se activa en otro, sin límite de activaciones
  • el NAS nunca se bloquea por la licencia: sin ella, revocada o sin red, tus datos y servicios siguen intactos

Getting started

An x86-64 machine with 4 GB of memory and a 32 GB system disk.

From our own ISO, which installs Debian 12 and LGM-OS in a single pass:

bash deploy/build-iso.sh

Or on top of a Debian 12 you already have:

sudo bash deploy/install.sh

When it finishes, open https://<ip-del-nas>:5000: the wizard asks you to create your administrator. There is no factory username or password. The full steps, in download and install.

The licence, in plain words

One payment, for life. No fees, no ties to particular hardware and no locks on your data.

You pay once and it is yours

A lifetime licence, with updates included. No subscription, no fees and no expiry date. You buy it, you get your key and you paste it into the panel, under Control panel → System → Licence.

It is checked on your own machine

The key is signed and the NAS verifies it on its own, with no need to be online. If there is a connection it checks now and then that the licence is still valid; but losing the network switches nothing off and locks nothing.

If the machine breaks, it goes with you

The licence is tied to you, not to the machine. If the NAS breaks you build another one, paste the same key and carry on where you left off. Without calling anyone and with no activation limit.

Your data is never held hostage

Even without a licence, your files, your backups and every service keep working as normal. The licence unlocks the product; it is never a padlock on what is yours.

Want a look before buying? All the documentation and these pages can be read without signing up or signing in: you do not have to be connected to anything.

Under the bonnet

For anyone who wants a look inside.

Backend
Python 3.11 + FastAPI. Privileged operations go through a separate process with an allowlist of commands: the panel itself runs unprivileged.
Interface
React 18 + TypeScript + Vite + Tailwind. A multi-window desktop, light and dark, installable as an app (PWA).
Foundation
Debian 12 stable. No home-made distribution: the packages are Debian's and the system can also be administered over SSH.
Tested
An automated test suite for the backend, types and a build of the interface on every change, and a real install from the ISO in a virtual machine.