Installation Guide
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.
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 bashPrefer 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.shWhen 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
- Pre-flight checks — OS (Ubuntu 20.04+; Debian continues with a warning), architecture, free disk space (2 GB), internet access.
- Base packages — build tools and libraries, plus Python 3.12 (added from the deadsnakes PPA when your Ubuntu does not ship it).
- Download — the selected release is extracted to
/opt/vinzapanel. - System user — creates the
vinzapanelsystem user that the panel runs as. - 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. - Firewall — enables UFW and opens ports 22, 2711, 80, 443 and 53.
- Panel — creates the database, a self-signed TLS certificate, the administrator account and the
vinza-agentandvinza-panelsystemd services. - CLI shortcut — links
/usr/local/bin/vinzapanelso you can runsudo 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
adminfollowed by 6 random digits, and the password is random. - The password is printed only once. Store it in your password manager now.
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 infoThen open the URL from the summary in your browser and continue with First Login & Panel Setup.
Installer options
| Option | Where | Effect |
|---|---|---|
INSTALL_DIR=/path | One-line installer (environment variable) | Install somewhere other than /opt/vinzapanel. |
--db sqlite|postgresql | vinzapanel.sh | The panel's own database on a fresh install. SQLite is the default. |
-y, --yes | vinzapanel.sh | Answer yes to every prompt. |
--log FILE | vinzapanel.sh | Write 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 bashThe 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_postgresThe 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
| Command | What it does |
|---|---|
sudo vinzapanel | Opens an interactive menu |
sudo vinzapanel --mode info | Version, install path, login path, port, licence status |
sudo vinzapanel --mode create_admin | Create an administrator, or set a new password for an existing one |
sudo vinzapanel --mode restart | Restart the panel (and apply pending migrations) |
sudo vinzapanel --mode reinstall | Re-run the installation over an existing panel (repair) |
sudo vinzapanel --mode db_postgres | Move the panel database from SQLite to PostgreSQL |
sudo vinzapanel --mode agent / --mode worker | Control the vinza-agent / vinza-worker service |
sudo vinzapanel --mode uninstall | Remove VinzaPanel |
Panel updates are installed from the panel itself — see Updates. If the installation stops with an error, see Installation Fails.