Fedora on a VPS: fresh packages at the cost of frequent upgrades
Fedora is a community distribution backed by Red Hat and the proving ground for technologies in future RHEL, AlmaLinux and Rocky Linux releases. On a server this means fresh kernels, compilers, Python, PostgreSQL and Podman almost as soon as they come out. The flip side is a short cycle: a new version appears roughly every six months, and each is supported for about 13 months. You can't install a Fedora server and forget about it for five years; you'll have to upgrade it to a new version about once a year.
Who needs a VPS with Fedora
- Developers who build for RHEL-based systems. Fedora shows what will appear in upcoming enterprise releases: new SELinux policies, systemd, dnf and cryptographic settings. A Fedora test environment shows in advance what will break in a future migration.
- Anyone who needs new versions of languages and libraries without third-party repositories: recent GCC, Rust, Go, Node.js and Python install from the standard packages.
- Containers without Docker. Fedora is the native environment for Podman, Buildah and Toolbx; containers can run as a regular user and be managed through systemd. Docker installs too if you prefer it; plans for containers are collected on the VPS for Docker page.
- CI runners and build machines that test a project on the very latest toolchain.
For a client's website, an online shop or a server under a panel, Fedora is a poor choice: cPanel and most commercial panels don't support it, and a yearly system upgrade on a production server adds risk. For such tasks choose AlmaLinux or Rocky Linux: the same commands, but a decade of support.
Upgrading to a new version
Moving between versions is done in place with the dnf system-upgrade plugin: first fully update the current system, then download the new version's packages and reboot into upgrade mode. You can skip versions, but by no more than one: a jump from, say, N to N+2 is officially supported. Before starting, take a disk snapshot in the host's panel: if something goes wrong during the reboot, restoring the server from the snapshot is faster than fixing it through the VNC console.
The main trap on a VPS is an outdated template. Hosts add new Fedora releases with a delay and sometimes keep a version that no longer gets updates in the list for months. After installation, check cat /etc/fedora-release and compare the number with the current releases on the project's website. If the template is old, upgrade the system to the current version straight away or install it from the official Fedora Server image; on KVM plans this is usually possible via custom ISO upload.
Resources and system specifics
For Fedora Server the developers recommend 2 GB of memory or more, while the Fedora Cloud image also starts on 1 GB. It's better to have a disk of 20–30 GB or more: an upgrade to a new version temporarily downloads a full set of packages, and 10 GB may not be enough. You need KVM virtualisation: in OpenVZ and LXC containers, a modern systemd and SELinux lack the capabilities of the host's shared kernel.
- SELinux is on in enforcing mode, and the firewall is firewalld. These are the same tools as in RHEL, and experience with them will come in handy on production servers.
- For browser-based management there is Cockpit: load graphs, logs, Podman containers and updates in one window.
- System logs are kept by journald; limit their size in
journald.confif the disk is small. - Turn on automatic installation of security updates with dnf-automatic: on Fedora they come out often.
Another quirk is that key components change versions often. PostgreSQL, PHP or Python may move to the next major version in a new Fedora release, and after a system upgrade you'll have to migrate the database and check the application for compatibility. Keep database data and application configs in a separate directory with a backup, and run critical services in containers with a pinned image version: then a Fedora upgrade affects only the system itself, not your stack.
What to check before ordering
Make sure the host's OS list includes a supported Fedora version, not just an old one; that the plan lets you install the system from your own ISO if there is no template; and that the VNC console works, since you'll need it when upgrading between versions. If you need a stable system with rare major changes, take a look at Debian: it also gives you a clean system with nothing extra, but is upgraded once every two years.