A single pass: it installs the whole of Debian 12 and LGM-OS, asks three questions and finishes by showing on the machine's own screen the address to go to.
An ordinary computer will do. No server hardware required.
| Part | Minimum | Recommended, and why |
|---|---|---|
| Processor | x86-64 | With hardware virtualisation (VT-x / AMD-V) if you are going to use virtual machines: without it they run, but emulated and slow. |
| Memory | 4 GB | 8 GB if you are going to use ZFS or virtual machines. Updating rebuilds the interface, and that is the step that asks for memory. |
| System disk | 32 GB | 50 GB and you have room to spare. That is where Debian, the Python environment, the Docker images and the app catalogue live. With less than 16 GB updates run out of room. |
| Data disks | None to install | As many as you like, besides the system one. They are set up afterwards from the web, in a ZFS or Btrfs volume; the installer does not touch them. |
| Boot | UEFI or BIOS | The image boots either way. |
| Network | Cable | The installer downloads the Debian packages while it works. |
Download it in one click, or build it yourself from the repository.
With its SHA-256 published alongside so you can check it arrived whole. If the page says it is not published yet, that version's image is still in the oven.
bash deploy/build-iso.sh
It leaves nas-os-installer.iso in publicacion/. It needs
xorriso, wget and sha256sum.
The image does not carry the system inside: on first boot it downloads the latest published version and installs it. That is why it does not go stale —an ISO burnt today installs what exists in two years' time— and why the machine needs a network the first time.
What it does underneath, which is worth knowing: it downloads the most recent Debian 12 netinst, checks its SHA256 against the one Debian publishes —if it does not match, it stops— and repackages it with the unattended install and the first-boot script, which downloads the published version and checks its checksum and its signature before installing it.
Check it arrived whole before burning it, and compare the result with the one whoever gave it to you had:
sha256sum lgm-os-installer.iso
The image is hybrid: it is copied as it is, with no odd programs.
lsblk # find the USB stick: sdb, sdc…
sudo dd if=lgm-os-installer.iso of=/dev/sdX bs=4M status=progress conv=fsync
of= twice. dd writes wherever you tell
it without asking. If you get the letter wrong, you take out whatever disk was there. It is
/dev/sdX, the whole disk, not a partition (/dev/sdX1).
With Rufus or balenaEtcher: pick the image, pick the USB stick and write. If Rufus asks, choose DD image mode.
Three questions and the rest on its own.
Go into the machine's boot menu (usually F12, F11 or Esc) and choose the USB stick.
Spanish, English or German. The keyboard and the time zone follow from it.
The one it will be seen with on the network and that takes you to the panel:
https://<name>.local:5001.
The whole disk, or 64 GB and the rest as a data volume if you only have one big disk. If there are several disks, it then lists them with their model and size so you can pick.
It downloads and installs Debian 12 and restarts on its own. On that first boot it downloads LGM-OS, which can take an hour or more; the machine's screen shows how it is going and, when it finishes, the address to go to. Only if your network does not hand out addresses does it also ask for the IP.
The first things to do, in order.
https://<name>.local:5001Or the address shown on the NAS's screen. The certificate belongs to the machine itself, so the browser warns you: that is normal on a home network. Accept it, or install the NAS's one on your devices from the panel.
There is no factory username or password. The first-run wizard asks
you to create it with the sign-up code shown on the NAS's screen (over SSH,
sudo lgm alta): that way nobody else on your network gets there first.
Control Panel → Security. This is a panel that can format disks: the minute it takes is worth it.
Control Panel → Alerts (email or webhook, with a test button). The firewall comes switched on: whatever you turn on from the panel opens its own port, and each application opens only to the home network (Control Panel → Security → Firewall).
The first time you sign in, the wizard proposes one with the empty disks and tells you how much space it will leave. To choose yourself, Storage → Create pool: Btrfs comes selected and takes disks of different sizes; ZFS, with parity if you have three disks or more. It never offers the system disk.
Without going through the ISO, on an already installed system:
sudo bash deploy/install.sh
It leaves the machine exactly as the ISO would: same services, same panel, same address.
sudo lgm update, and the update rolls itself back if
something goes wrong. See how it updates.