# Install the panel

> Choose how to install FeatherPanel. The installer script with Docker Compose is the supported path; source mode exists for development.

Source: https://featherpanel.com/docs/panel/installation/

FeatherPanel ships as a set of container images. The installer script runs them with Docker Compose and is the path this
documentation assumes. There are two install modes:

| Mode | What runs where | Use it for |
|------|-----------------|------------|
| Docker (recommended) | MariaDB, Redis, backend, frontend, MCP server and async runner in containers from `ghcr.io/mythicalltd` | Production and most test installs |
| Source | The backend under FrankenPHP, the Next.js frontend and the Rust async runner built on the host, as systemd services | Developing FeatherPanel itself |

The installer prints "Docker (recommended for most users)" next to the Docker mode and shows a support warning before a
source install.

## Before you start

Check the [requirements](https://featherpanel.com/docs/getting-started/requirements): a 64-bit Debian or Ubuntu server, root access, and a domain
name if you want HTTPS. The panel listens on port `4831` on the host. You put a reverse proxy or a Cloudflare Tunnel in front
of it, or open it directly for a home lab.

## Run the installer

```bash
curl -sSL https://get.featherpanel.com/installer.sh | bash
```

Pick `[1] Panel`, then `Install Panel`. The installer asks for:

1. The install mode, Docker or source.
2. The release type: Stable Release, Development Build (latest `develop` images) or Development Build (Custom) for a
   specific branch and commit.
3. The access method: Cloudflare Tunnel, Nginx reverse proxy, Apache2 reverse proxy or direct access on
   `http://YOUR_IP:4831`.

The rest of the install is described in [Docker installation](https://featherpanel.com/docs/panel/installation/docker).

## After the install

- Register the first account. It becomes the administrator.
- Put HTTPS in front of the panel if you did not pick it during the install: see [Web server](https://featherpanel.com/docs/panel/web-server)
  and [SSL certificates](https://featherpanel.com/docs/panel/ssl).
- Add a node: [Install FeatherWings](https://featherpanel.com/docs/wings/installation).
- Read [Updating](https://featherpanel.com/docs/panel/updating) and [Backups](https://featherpanel.com/docs/panel/backups) before you put real users on the panel.

## Frequently asked questions

### What is the recommended way to install FeatherPanel?

Run the installer script as root on Debian or Ubuntu and choose Docker mode. It downloads docker-compose.yml to /var/www/featherpanel, starts the containers and can set up nginx, Apache or a Cloudflare Tunnel in front of them.

### Can I install FeatherPanel without Docker?

The installer has a source mode that builds the backend, frontend and async runner on the host and runs them as systemd services. The installer marks it as a mode for developers; Docker mode is the one it recommends for most users.
