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.
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.
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.
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
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
Open http://YOUR_SERVER_IP:8888, sign in with admin / admin, change the password, and restrict firewall rules to SSH + the panel port.
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
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.
/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.
PANEL_PORT)./www/server/YakPanel-server.YakPanel-server.service (backend on 127.0.0.1:8889 by default).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. |
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/. |
cd YakPanel-master/YakPanel-server sudo bash install.sh
Or delegate from scripts/install.sh (sets YAKPANEL_SOURCE_DIR automatically).
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.
…/admin/yakpanel-core.git (folder source.yakpanel.com/ has extra hosting notes)YakPanel-server/)