Installation Guide

Updated 19 Oct 2026 Published

Installation Guide

VinzaPanel installs with one command. The installer checks your server, downloads the release, sets up every service and prints your login details at the end. On a fresh server it usually takes a few minutes.

Danger

Run the installer only on a fresh server. It installs and configures system packages and services (web server, PHP-FPM, MariaDB, Redis, PowerDNS, UFW). Running it on a server that already hosts sites or another panel can break them.

Before you start

  • A server that meets the System Requirements (Ubuntu 20.04 or newer, x86_64 or aarch64, 2 GB free disk).
  • SSH access as root or as a user with sudo.

Step 1: Run the installer

Log in to your server over SSH and run:

curl -fsSL https://vinzapanel.com/install.sh | sudo bash

Prefer to read the script first? Download it, look through it, then run it:

curl -fsSL https://vinzapanel.com/install.sh -o install.sh
less install.sh
sudo bash install.sh

When you run the script from a terminal it lists the available VinzaPanel versions and asks which one to install — press Enter for the latest. When the input is not a terminal (for example when piped), the latest version is picked automatically.

Step 2: What the installer does

  1. Pre-flight checks — OS (Ubuntu 20.04+; Debian continues with a warning), architecture, free disk space (2 GB), internet access.
  2. Base packages — build tools and libraries, plus Python 3.12 (added from the deadsnakes PPA when your Ubuntu does not ship it).
  3. Download — the selected release is extracted to /opt/vinzapanel.
  4. System user — creates the vinzapanel system user that the panel runs as.
  5. Services — installs Redis, PowerDNS (when the server has a routable IP), the Go agent, PHP and the core apps, and creates the Python virtual environment in /opt/vinzapanel/venv.
  6. Firewall — enables UFW and opens ports 22, 2711, 80, 443 and 53.
  7. Panel — creates the database, a self-signed TLS certificate, the administrator account and the vinza-agent and vinza-panel systemd services.
  8. CLI shortcut — links /usr/local/bin/vinzapanel so you can run sudo vinzapanel … from anywhere.

No web server is installed at this stage. You choose Nginx, Apache or OpenLiteSpeed in the setup wizard on your first login.

Everything is logged to /var/log/vpanel-install.log.

Step 3: Save your login details

A successful run ends with a summary like this:

  ✔ VinzaPanel installation completed successfully

  Panel Access
  URL       :  https://203.0.113.10:2711/k3x9q2ab/login/
               (self-signed cert — your browser will show a security warning, click Advanced → Proceed)
  Username  :  admin482915
  Password  :  ••••••••••••••••

  ⚠  Save these credentials — they will not be shown again.
  • The URL contains a random 8-character secret path. Administrators can only sign in through this address.
  • The username is admin followed by 6 random digits, and the password is random.
  • The password is printed only once. Store it in your password manager now.
Tip

Forgot the address? sudo vinzapanel --mode info shows the panel's secret login path. Forgot the password? Run sudo vinzapanel --mode create_admin and enter your existing admin username to set a new one.

Step 4: Check the services

sudo systemctl status vinza-agent vinza-panel
sudo vinzapanel --mode info

Then open the URL from the summary in your browser and continue with First Login & Panel Setup.

Installer options

OptionWhereEffect
INSTALL_DIR=/pathOne-line installer (environment variable)Install somewhere other than /opt/vinzapanel.
--db sqlite|postgresqlvinzapanel.shThe panel's own database on a fresh install. SQLite is the default.
-y, --yesvinzapanel.shAnswer yes to every prompt.
--log FILEvinzapanel.shWrite the log somewhere other than /var/log/vpanel-install.log.

Example with a custom directory:

curl -fsSL https://vinzapanel.com/install.sh | sudo env INSTALL_DIR=/srv/vinzapanel bash

The one-line installer sets the panel up on SQLite, which is fine for a single server. If you plan to run a hosting business or connect several servers, move the panel database to PostgreSQL afterwards:

sudo vinzapanel --mode db_postgres

The move stops the panel, backs up the SQLite file, copies the data in one transaction and verifies it; if anything fails, the panel goes back to SQLite as it was.

The vinzapanel command

CommandWhat it does
sudo vinzapanelOpens an interactive menu
sudo vinzapanel --mode infoVersion, install path, login path, port, licence status
sudo vinzapanel --mode create_adminCreate an administrator, or set a new password for an existing one
sudo vinzapanel --mode restartRestart the panel (and apply pending migrations)
sudo vinzapanel --mode reinstallRe-run the installation over an existing panel (repair)
sudo vinzapanel --mode db_postgresMove the panel database from SQLite to PostgreSQL
sudo vinzapanel --mode agent / --mode workerControl the vinza-agent / vinza-worker service
sudo vinzapanel --mode uninstallRemove VinzaPanel

Panel updates are installed from the panel itself — see Updates. If the installation stops with an error, see Installation Fails.

On this page