View .md

Requirements

Supported operating systems, CPU architectures, virtualization types, software and firewall ports for FeatherPanel, FeatherWings and FeatherQuilld.

On this page

FeatherPanel does not publish minimum CPU or RAM figures. Size the panel host for the number of users you expect and the game, VDS and web nodes for the workloads they run. The backend sizes its PHP thread pool from the memory it can see, so it adapts to small and large machines (see Cron, workers and runner).

Operating systems

The installer (install.bash) checks /etc/os-release before it does anything:

DistributionVersions accepted by the installer
Debian11, 12, 13
Ubuntu22.04 LTS, 24.04 LTS, 26.04 LTS, 25.04, 25.10 (20.04 also passes the check)

Anything else stops with an error unless you pass --skip-os-check. The installer also warns when your release is past or close to its end of life.

Windows: the PowerShell installer (install.ps1) installs the panel and FeatherCli on top of Docker Desktop, into C:\featherpanel. FeatherWings and FeatherQuilld are Linux only. See Windows install.

CPU architectures

ArchitectureStatus
amd64 (x86_64)Native images and packages
arm64 (aarch64)Native images and packages
armv7l, armv6lNot native. The installer offers to install QEMU and run the amd64 images through emulation (--force-arm skips the confirmation). Expect slower startup and higher CPU and memory use.

Virtualization

Docker has to work on the machine. The installer runs systemd-detect-virt and refuses:

  • OpenVZ / OVZ / Virtuozzo
  • LXC (including lxc-libvirt)

KVM, VMware, Xen, Hyper-V and bare metal are fine. --skip-virt-check overrides the check if you know your container supports nested Docker.

On kernels older than 6.1 the installer reminds you to add swapaccount=1 to GRUB_CMDLINE_LINUX_DEFAULT if you want Docker swap limits for game servers.

Software

  • Docker Engine with the Compose plugin. The installer installs both if they are missing.
  • That is all. PHP, MariaDB, Redis, Node.js and the Rust runner all ship in the images (ghcr.io/mythicalltd/featherpanel-*).
  • A web server on the host only if you want one in front of the panel: nginx, Apache or Caddy for TLS, or a Cloudflare Tunnel. See Web server.

Panel (source install, unsupported)

The source installer (installer/source/*.bash) installs PHP 8.5 (composer.json requires ^8.5), FrankenPHP, MariaDB, Redis, Node.js for the Next.js build and a Rust toolchain for the async runner. It is meant for developers and gets no support guarantee. See Source install.

FeatherWings

  • Docker CE. The installer installs it when it is missing.
  • systemd.
  • Installed from the MythicalSystems APT repository (featherwings, or the nightly package) or as a direct binary download from GitHub. See Install Wings.

FeatherQuilld

  • Debian or Ubuntu (APT and dpkg). FeatherQuilld is only shipped as an APT package (featherquilld, or featherquilld-dev for nightly).
  • Docker CE (a recommended dependency; the installer makes sure it is present) and systemd.
  • See Install Quilld.

FeatherCli

A single binary in /usr/local/bin/feathercli. The installer also installs libicu-dev, which the .NET runtime needs. See FeatherCli.

Network and ports

ComponentPortDirectionPurpose
Panel4831/tcplocalfrontendv2 container. Set FEATHERPANEL_PANEL_PORT to change it. Keep it closed when a reverse proxy is in front.
Panel80/tcp, 443/tcpinboundYour reverse proxy (HTTP and HTTPS).
FeatherWings8080/tcpinbound from the panel and browsersWings API and console websocket (api.port).
FeatherWings2022/tcpinboundSFTP for server files (system.sftp.bind_port).
FeatherWingsallocation portsinboundThe game ports you assign to servers.
FeatherWings80/tcpinbound (optional)FastDL, only if enabled.
FeatherQuilld8989/tcpinbound from the panel and browsersQuilld API (api.port).
FeatherQuilld2222/tcpinboundSFTP for WebSpaces.
FeatherQuilld21/tcp, 50000-50100/tcpinboundFTP and its passive range.
FeatherQuilld80/tcp, 443/tcpinboundWebsites through the managed reverse proxy.
FeatherQuilld587/tcp, 993/tcp (and 25/tcp for inbound mail)inboundMail, if a mail backend is installed. See Mail.
Proxmox8006/tcpfrom the panelProxmox API for VDS nodes.

The panel must reach every node API, and browsers must reach Wings and Quilld directly for console websockets and file transfers. Put the daemons behind TLS (Let’s Encrypt from the installer’s SSL menu, or your own certificate) when the panel is served over HTTPS; browsers block mixed content.

When the installer configures a firewall it only touches rules of an existing ufw or iptables setup. It opens 80 and 443 and closes the panel port if it finds a reverse proxy, or opens the panel port when there is none.

Domains and TLS

  • One domain (or subdomain) for the panel, e.g. panel.example.com.
  • One per node is recommended, e.g. node1.example.com, so Wings and Quilld can have their own certificates.
  • The installer’s SSL menu issues Let’s Encrypt certificates with certbot. See SSL.

Next steps

Frequently asked questions

Which Linux distributions does FeatherPanel support?

The installer supports Debian 11, 12 and 13 and Ubuntu 22.04, 24.04, 25.04, 25.10 and 26.04 (20.04 also passes the check). Other distributions need --skip-os-check and are not supported.

Does FeatherPanel run on ARM?

Yes. All images are published for amd64 and arm64. Older ARM (armv6, armv7) only works through QEMU emulation of the amd64 images, which the installer offers to set up.

Can I run FeatherWings in an LXC or OpenVZ container?

The installer refuses OpenVZ, Virtuozzo and LXC by default because Docker does not work reliably there. Use a KVM, VMware, Xen or bare metal machine, or pass --skip-virt-check at your own risk.