YakPanel installation Linux

YakPanel-server (FastAPI + React) installs with one command: Nginx, Redis, systemd, and a production UI build. Fetch the script from YakPanel-server/install.sh (bootstrap: install-curl.sh). Use a clean Linux VM and run as root (or sudo). The installer clones from source.yakpanel.com/admin/yakpanel-core.git. Enable anonymous Git HTTP(S) clone there, or pass a username/token in REPO_URL (see below). Set REPO_URL to any other reachable Git URL to use a different mirror.

Install steps

  1. Prepare the server

    Ubuntu 24.04 is the simplest choice (stock python3 is 3.12). On Ubuntu 22.04, install Python 3.11+ before or alongside the script—the backend requires it; 22.04’s default 3.10 is not enough. Debian or a supported RHEL-family distro with apt/dnf/yum also works. Prefer a fresh image to avoid clashes with an existing Nginx stack.

  2. Confirm install.sh is reachable over HTTPS

    This web root includes YakPanel-server/install.sh (keep it in sync with YakPanel-master/YakPanel-server/install.sh when you update the repo). After deploy, the public URL is https://www.yakpanel.com/YakPanel-server/install.sh. Sanity-check with step 3. If you still get 404, the live server document root differs—copy the YakPanel-server/ folder there. On IIS, map .sh to text/plain if the server blocks the file.

  3. Verify the download (optional but recommended)

    curl -f fails on HTTP errors so you see problems immediately. Avoid wget -q until the URL works.

    curl -fsSL https://www.yakpanel.com/YakPanel-server/install.sh | head -n 20
  4. Run the installer

    You should see progress lines such as [1/6][6/6] and a success banner at the end. Step [2/6] clones from source.yakpanel.com/admin/yakpanel-core.git unless you set REPO_URL. On Ubuntu 22.04 the script installs Python 3.11 if the system python3 is older (the backend requires 3.11+).

    curl -fsSL https://www.yakpanel.com/YakPanel-server/install.sh | bash
  5. Log in and harden

    Open http://YOUR_SERVER_IP:8888, sign in with admin / admin, change the password, and restrict firewall rules to SSH + the panel port.

One-click commands (reference)

Same installer URL as in step 4. The default Git source is https://source.yakpanel.com/admin/yakpanel-core.git.

curl (recommended — fails on 404)

curl -fsSL https://www.yakpanel.com/YakPanel-server/install.sh | bash

Private Git (token or user in URL — replace USER / TOKEN)

curl -fsSL https://www.yakpanel.com/YakPanel-server/install.sh | sudo -E env REPO_URL=https://USER:TOKEN@source.yakpanel.com/admin/yakpanel-core.git bash

wget (omit -q while testing so errors print to the terminal)

wget -O- https://www.yakpanel.com/YakPanel-server/install.sh | bash

Non-root shell with sudo:

curl -fsSL https://www.yakpanel.com/YakPanel-server/install.sh | sudo bash
Mirrors. Replace https://www.yakpanel.com/YakPanel-server/ with your own host if the script is not served from this domain. For Git, set REPO_URL to any reachable bare or smart-HTTP repo (operator notes: HOSTING.txt on the source host). Optional bootstrap: install-curl.sh with YAKPANEL_INSTALLER_BASE — see that file’s header comments in the repo.
Web + SSH installer (YakPanel-server). If you run the YakPanel-server UI, you can enable a browser flow at path /install that uses SSH to run the same script on a remote Ubuntu host. Set ENABLE_REMOTE_INSTALLER=true on the API, restart, configure CORS_EXTRA_ORIGINS if the UI is on another origin, and read YakPanel-server README for risks and firewall notes.

After install

Supported systems

Installer uses apt on Debian/Ubuntu (Nginx sites-available layout) and dnf/yum on common RHEL-family distros.

Environment Notes
Ubuntu 22.04+ / Debian On 22.04 install Python 3.11+ for the backend venv; 24.04 works with stock python3.
Rocky / Alma / EL firewalld port opened for PANEL_PORT when active.
Python Backend expects Python 3.11+; Ubuntu 24.04 is a simple target for stock python3.

Optional environment variables

Preserve variables through sudo: sudo -E bash install.sh or sudo -E env VAR=value bash install.sh.

Variable Purpose
REPO_URL Git URL for step [2/6]. Default: https://source.yakpanel.com/admin/yakpanel-core.git. Use https://USER:TOKEN@source.yakpanel.com/admin/yakpanel-core.git when the repo is not anonymously readable.
YAKPANEL_BRANCH / GIT_REF Shallow clone branch or tag.
INSTALL_PATH Install directory (default /www/server/YakPanel-server).
PANEL_PORT / BACKEND_PORT Nginx public port / Uvicorn localhost port.
YAKPANEL_SOURCE_DIR Skip git: directory that already contains backend/ and frontend/.

From a cloned repository

cd YakPanel-master/YakPanel-server
sudo bash install.sh

Or delegate from scripts/install.sh (sets YAKPANEL_SOURCE_DIR automatically).

Docker (evaluation)

For containers, use Docker Compose in the repo (ports differ from native Nginx install):

cd YakPanel-master/YakPanel-server
docker compose up -d

Typical mapping: backend 8888, frontend image 5173, Redis 6379.

More documentation