LibrePortal
Sponsor
Install

What you need

The machine, operating system and network LibrePortal needs, how much memory and disk your apps will want, and what to pick if you're buying or reusing something.

On this page
  1. The short version
  2. The operating system
  3. The machine
  4. Processor
  5. Memory
  6. Disk
  7. Some machines that work well
  8. The network
  9. You

LibrePortal checks all of this itself before it installs, and tells you plainly if something is missing. This page is for choosing a machine before you get that far.

The short version#

A 64-bit machine running Debian 13 or Ubuntu 26.04 LTS, with 2 GB of memory or more and 20 GB of free disk plus room for your files, connected to the internet. Give it a machine of its own if you can.

The operating system#

A fresh install of Debian or Ubuntu:

System Versions
Debian 10, 11, 12, 13
Ubuntu 18.04, 20.04, 22.04, 24.04, 26.04

For a new machine, pick Debian 13 or Ubuntu 26.04 LTS; they'll be looked after the longest. Other versions of Debian and Ubuntu, and systems based on them like Raspberry Pi OS, install with a warning. Anything else stops the install, with a message saying LibrePortal needs Debian or Ubuntu.

A desktop or a server edition both work. You won't need the desktop, so a minimal server install leaves more memory for your apps.

The machine#

Minimum Comfortable
Processor 64-bit PC (x86-64) or ARM64 a PC, if you want every app
Memory 1 GB (with a warning) 4 GB or more
Free disk 5 GB (with a warning below 20 GB) 20 GB, plus room for your files

Below 1 GB of memory, or below 5 GB of free disk, the install stops. Between those and the comfortable figures it carries on, with a warning. The disk check is made for each disk LibrePortal will use, so a second disk for your apps is checked too.

Processor#

Any 64-bit PC processor of the last ten years is plenty. LibrePortal also installs on 64-bit ARM, like a Raspberry Pi 4 or 5, and most apps run there too, but a few apps only publish images for PCs. 32-bit systems aren't supported.

To check: list the catalogue apps that have no ARM64 image

Memory#

Memory is what runs out first, so it's the thing to be generous with. A fresh system running LibrePortal and Docker, with no apps yet, uses around half a gigabyte. Each app adds its own share, and apps vary enormously. Measured on real machines, sitting idle:

App Memory in use
Vaultwarden about 10 MB
Traefik about 30 MB
Uptime Kuma about 130 MB
Linkding about 175 MB
Nextcloud, with its database, cache and web server about 230 MB, freshly installed
Funkwhale, with its workers up to about 1 GB

Busy apps use more: Nextcloud while it's making photo thumbnails, Jellyfin while it converts a film for your phone. As a rough guide:

  • 2 GB runs LibrePortal and a handful of small apps: a password manager, bookmarks, a monitor, a notes app.
  • 4 GB adds one or two bigger ones, like Nextcloud or a media server.
  • 8 GB or more is for a full house: Nextcloud, Jellyfin, a mail server, the fediverse apps.

On a machine with 8 GB or less and no swap, LibrePortal adds a swap file so a busy moment doesn't knock an app over. See Disks and storage.

Look at the numbers on your own machine

Once it's running, Admin → System shows how much memory each app is actually using, which is better than any guess.

Disk#

LibrePortal itself needs very little: around 20 MB of settings, plus the Docker images of the apps you install, which are typically a few hundred megabytes each. What takes the space is what you put in your apps, and your backups of it.

Some rules of thumb:

  • Photos and files in Nextcloud: the size of your collection, plus about a fifth again for thumbnails and previews.
  • Music: roughly 1 GB per 200 songs as MP3, or three times that as FLAC.
  • Films and TV in Jellyfin: 1 to 4 GB for a film at ordinary quality, 20 GB or more in 4K. This is where people run out.
  • Backups on the same machine start at about the size of your data and grow slowly, because only changes are stored.

If you have a lot of media, don't buy a big system disk; buy a big second disk, and put those apps on it. A spinning hard disk is fine for films and music. Keep the system disk an SSD, because that's where the databases live.

Some machines that work well#

An old laptop. Often the best first server: it's free, it's quiet, and its battery is a built-in power cut protector. Anything from the last eight years or so with 4 GB of memory is fine. Replace the hard disk with an SSD if it still has one, and set it to stay awake with the lid closed.

A mini PC. The small, cheap, silent boxes with a laptop-style processor. 8 or 16 GB of memory and a 500 GB SSD run everything in the App Center and use very little electricity. Add a USB disk for media.

A Raspberry Pi 5. Low power and tiny. Get the 8 GB model, boot it from an SSD rather than a memory card (cards wear out under a database's constant writes), and install a 64-bit system. A few apps won't run on it.

A VPS (a small server you rent from a hosting company). Handy if you want your apps on the internet without depending on your home connection. 2 to 4 GB of memory is plenty for the smaller apps. Storage is expensive there, so it suits a password manager and a few web apps better than a film collection. A VPS is on the internet from the start, so read Who can reach what early.

The network#

  • The machine needs internet access, to download LibrePortal, Docker and your apps. The install checks that it can reach the internet and look up names; without that, it stops.
  • Port 51830/udp must be free on the machine; it's for the LibrePortal VPN. If something else already uses it, the install stops.
  • Ports 80 and 443 are only needed if you later give LibrePortal a domain. The install warns if something else is using them, and also if the mail ports or port 53 (DNS) are taken, because some apps need those.
  • You do not need a domain, a fixed IP address or port forwarding to get started. Everything works on your own network at http://<server-address>:<port>.

The install also warns about a few things that commonly get in the way: another firewall like firewalld, Docker already installed the ordinary way, another web server, or a clock that isn't being kept in sync.

You#

You'll need to run one command as root, either at the machine or over SSH. After that, everything happens in a browser.

Next steps