VeloPanel UI Guide¶
VeloPanel ships with a modern dark-themed web interface built with Svelte 5. Access it at http://your-server:7070 after installation.
Initial Setup¶
On first launch, VeloPanel shows the Setup screen where you create your administrator account.
- Open
http://your-server:7070in your browser - Enter a username (min 3 characters) and password (min 8 characters)
- Confirm the password and click Create Admin Account
- You'll be automatically logged in and redirected to the Dashboard
Tip
The setup screen is only available once. After the admin is created, all subsequent visits show the login page.
Login¶
After setup, use the Login page to sign in:
- Enter your username and password
- Click Sign In
- A JWT session token is stored as an HTTP-only cookie (expires after 24 hours)
Navigation¶
The sidebar provides access to all sections:
| Icon | Section | Description |
|---|---|---|
| ◈ | Dashboard | System overview and resource stats |
| ⊡ | Accounts | Manage hosting accounts |
| ◎ | Domains | Manage domains per account |
| ⊘ | SSL | SSL certificate management |
| ⟐ | PHP | PHP version configuration |
| ⊞ | Files | Web-based file manager |
| ⊟ | Databases | MySQL/PostgreSQL database management |
| ⊙ | System | Server info and VeloServe controls |
The sidebar also shows:
- License tier badge (Community, Pro, Business)
- Current user with avatar and role
- Logout button
Dashboard¶
The dashboard provides a real-time overview of your server:
Stat Cards¶
Four summary cards at the top:
- Accounts — Number of hosting accounts (e.g. "3 / 5" on Community tier)
- Domains — Total domains across all accounts (e.g. "7 / 10")
- Disk Usage — Used vs total disk space
- License — Current license tier
Server Information¶
A detail panel showing:
- Hostname, OS, Kernel version
- Uptime
- CPU model and core count
- RAM usage (used / total)
VeloServe Status¶
Shows whether VeloServe is running, its version, PID, and uptime. Includes a Restart button to reload the web server.
Accounts¶
Viewing Accounts¶
The accounts page shows a table with all hosting accounts:
| Column | Description |
|---|---|
| Username | System username (links to account) |
| Domain | Primary domain |
| Contact email | |
| Plan | Account plan (free, pro, business) |
| Status | Active / Suspended badge |
| Actions | Suspend, Unsuspend, Delete buttons |
Creating an Account¶
Click + Create Account to open the creation form:
- Username — 3-16 alphanumeric characters (becomes the Linux system user)
- Primary Domain — The main domain for this account
- Email — Contact email address
- Password — Min 8 characters (used for the account's system password)
- Plan — Select from Basic, Standard, Premium, Enterprise
When you create an account, VeloPanel automatically:
- Creates a Linux system user with a home directory
- Creates
/home/{username}/public_html - Adds the primary domain to the database
- Generates a VeloServe vhost configuration
- Reloads VeloServe to serve the new site
Community Tier Limit
On the free Community license, you can create up to 5 accounts. The UI will show an error when the limit is reached.
Suspending / Unsuspending¶
- Click Suspend to deactivate an account (status changes to "Suspended")
- Click Unsuspend to re-activate it
Deleting an Account¶
Click Delete and confirm the dialog. This removes:
- The Linux system user and home directory
- All associated domains and vhost configs
- Reloads VeloServe
Domains¶
Viewing Domains¶
The domains page lists all domains across all accounts:
| Column | Description |
|---|---|
| Domain | Fully qualified domain name |
| Type | Primary, Addon, Subdomain, or Alias |
| Account | Owning account username |
| SSL | Active (green badge) or None |
| Document Root | Path on disk |
| Actions | Delete button |
Adding a Domain¶
Click + Add Domain to open the modal:
- Account — Select the owning account from the dropdown
- Domain Name — Fully qualified domain (e.g.
blog.example.com) - Type — Addon, Subdomain, or Alias
- Document Root — Absolute path (e.g.
/home/user1/blog)
VeloPanel automatically generates a VeloServe vhost config and reloads the web server.
Community Tier Limit
The Community license allows up to 10 total domains across all accounts.
Deleting a Domain¶
Click Delete and confirm. The vhost config is removed and VeloServe is reloaded.
SSL Certificates¶
Viewing Certificates¶
Lists all SSL certificates in /etc/veloserve/ssl/ with:
| Column | Description |
|---|---|
| Domain | Certificate domain name |
| Issuer | Certificate authority (e.g. Let's Encrypt) |
| Issued | Issue date |
| Expires | Expiry date |
| Status | Valid (green), Expiring soon (yellow), Expired (red) |
Provisioning a Certificate¶
Click + Provision SSL to open the modal:
- Enter the domain name
- Click Provision
VeloPanel uses the built-in ACME client to:
- Register with Let's Encrypt (using the configured
acme_email) - Place HTTP-01 challenge files in the domain's webroot
- Obtain and save the certificate and private key
- Update the VeloServe vhost config with SSL paths
- Reload VeloServe
Requirements
- The domain's DNS must point to your server
- Port 80 must be accessible from the internet
acme_emailmust be set in the VeloPanel config
Auto-Renewal¶
Use the API endpoint POST /api/ssl/auto-renew to bulk-renew all certificates expiring within 30 days. Set up a daily cron job for automated renewal:
0 3 * * * curl -s -X POST http://localhost:7070/api/ssl/auto-renew \
-H "Authorization: Bearer YOUR_TOKEN"
File Manager¶
The file manager provides a web-based interface to browse and edit files within account home directories.
Browsing¶
- Select an account from the dropdown at the top
- Navigate using the breadcrumb trail or by clicking folders
- Click .. to go up one level
Each file/folder shows:
| Column | Description |
|---|---|
| Name | File/folder name with icon (📁/📄) |
| Size | File size (formatted) |
| Modified | Last modified date |
Editing Files¶
Click any file to open the built-in code editor:
- Full-width textarea with monospace font
- Click Save to write changes
- Click Cancel to discard and return to the directory view
Other Operations¶
- Upload — Click the Upload button in the header to upload files
- Create Directory — Use the API:
POST /api/files/mkdir - Set Permissions — Use the API:
POST /api/files/chmod - Delete — Use the API:
DELETE /api/files/delete
Security
All file operations are sandboxed to the account's home directory. Path traversal attempts are blocked.
Databases¶
Selecting an Account¶
Use the account dropdown at the top to switch between accounts.
Viewing Databases¶
The table shows databases for the selected account:
| Column | Description |
|---|---|
| Database Name | Full database name (prefixed with account username) |
| User | Database user |
| Size | Database size (if available) |
| Tables | Number of tables (if available) |
| Actions | Delete button |
Creating a Database¶
Click + Create Database to open the modal:
- Database Name — Name for the database (will be prefixed with
{username}_) - Database User — Username for database access
- User Password — Min 8 characters
VeloPanel creates both the database and a dedicated user with full privileges on that database only.
Deleting a Database¶
Click Delete and confirm. Both the database and its user are dropped.
Available Engines¶
The page shows which database engines are available on the server (MySQL, MariaDB, PostgreSQL).
PHP Configuration¶
Detected PHP Versions¶
The top section lists all PHP versions installed on the server, showing:
- Version number (e.g.
8.3.6) - Binary path (e.g.
/usr/bin/php) - Default badge for the system default version
Per-Account Configuration¶
A table lists each account with a dropdown to select the PHP version:
| Column | Description |
|---|---|
| Account | Account username |
| Domain | Primary domain |
| PHP Version | Dropdown to select version |
| Action | Apply button to save changes |
Select a version and click Apply to change the PHP version for that account.
LSAPI Mode
The LSAPI execution mode is available only with a Pro or Business license.
System Overview¶
Server Information¶
Displays detailed server specs:
- Hostname, Operating System, Kernel, Architecture
- CPU model and core count
- System uptime
Resource Usage¶
Four resource cards with visual progress bars:
- Memory — Used / Total with percentage bar
- Disk — Used / Total with percentage bar
- Load Average — 1m, 5m, 15m averages
- Processes — Total running processes
VeloServe Control¶
Shows VeloServe status with a colored indicator:
- Running (green) / Stopped (red)
- Version, PID, Uptime
- Restart VeloServe button — stops and restarts the web server service
Click Refresh in the page header to reload all data.
Keyboard Shortcuts¶
The VeloPanel UI is fully mouse-driven. All modals can be closed by:
- Clicking the backdrop (area outside the modal)
- Clicking the Cancel button
Responsive Design¶
VeloPanel adapts to different screen sizes:
- Desktop — Full sidebar with labels + main content area
- Tablet — Sidebar collapses to icons only
- Mobile — Sidebar hidden, accessible via hamburger menu