Deep Dive

Automation &
Projects

Push code and ship it -- connect a Git repo and every push deploys automatically. Plus reusable scripts, one-click Docker apps, logical projects, and a comprehensive REST API to integrate with any system.

New in v2.2.5

Git Push-to-Deploy

Connect a GitHub, GitLab, Bitbucket, or Gitea repository and every push to the branch deploys automatically. No Dockerfile required -- builds are detected and packaged for you, then rolled out with zero downtime.

  • Push to deploy

    Every push to the connected branch triggers an automatic build and deployment

  • Automatic build detection

    Nixpacks or Railpack detect your stack and build the image -- no Dockerfile needed

  • Zero-downtime rollouts

    A managed reverse proxy handles rolling deployments and automatic HTTPS for every app

  • Pull request preview environments

    Each PR gets its own disposable deployment, with the status posted back as a comment. Previews tear down automatically when the PR closes

git push origin main

$ git push origin main

Enumerating objects: 12, done.

→ Push received on main

→ Detected build: Nixpacks (Node.js 20)

→ Building image ............ ok

→ Rolling deploy (zero-downtime) .. ok

→ HTTPS issued for app.yourdomain.com

✓ Deployed in 47s

New in v2.1

User Scripts

Create reusable deployment scripts that execute automatically during instance provisioning. Write once, deploy everywhere -- the fastest way to standardize your infrastructure setup.

  • Multi-language support

    Write scripts in Bash, Python 3, or PowerShell -- whatever fits your workflow

  • Cloud-init execution

    Scripts execute automatically during instance deployment via cloud-init runcmd

  • Environment variables

    Access PUBLIC_IP, VPC_IP, INSTANCE_HOSTNAME, and more inside your scripts

  • Encrypted at rest

    Script content is encrypted in the database for security

  • Select during deploy or reinstall

    Choose scripts during instance creation or reinstallation for repeatable setups

  • Admin management

    Administrators can manage and audit user scripts from the admin panel

Perfect for software installation, configuration management, and post-deploy setup.

setup-nginx.sh
#!/bin/bash
# Install and configure Nginx web server

apt-get update && apt-get install -y nginx

# Use environment variables injected by cloud-init
echo "Hello from $INSTANCE_HOSTNAME" > /var/www/html/index.html

systemctl enable nginx && systemctl start nginx

# Log the public IP for reference
echo "Server running at $PUBLIC_IP" >> /var/log/deploy.log

Available Environment Variables

PUBLIC_IP
VPC_IP
INSTANCE_HOSTNAME
and more...

Docker App Catalog

instance > docker
Grafana

Analytics & monitoring platform

monitoring
WordPress

Content management system

cms
Uptime Kuma

Self-hosted uptime monitoring

monitoring
Portainer

Container management UI

management

Deployment Pipeline

Inject
Pull
Compose Up
Running
New in v2.1

Docker Manager

Deploy containerized applications onto your instances directly from the control panel. Browse a community-driven app catalog, configure settings, and deploy with one click -- no SSH required.

  • One-click Docker install

    Enable Docker during instance creation -- Docker CE and Compose are installed automatically via cloud-init

  • GitHub-hosted app catalog

    Community-contributable repository of Docker Compose apps with icons, metadata, and requirements

  • Environment variables and port mapping

    Configure credentials, settings, and host ports before deploying. Auto-generate passwords for secure defaults

  • QEMU Guest Agent deployment

    Scripts are injected and executed inside the VM securely -- no SSH or open ports required

  • Real-time status and container control

    Live deployment status via WebSocket. Start, stop, restart, or remove apps directly from the panel

No additional billing -- Docker apps are a free feature bundled with every instance.

Resource Organization New in v2.1

Projects

Organize your cloud resources into logical groups. Assign any resource type to a project for a clear, structured view of your infrastructure.

Logical Grouping

Organize resources into logical groups like "Production", "Staging", or by client name. Keep your infrastructure tidy as it grows.

Six Resource Types

Assign instances, VPCs, load balancers, S3 buckets, SSH keys, and user scripts to any project. Everything in one place.

Card-Based Overview

Visual project cards with resource counts at a glance. Instantly see how many instances, VPCs, and other resources belong to each project.

Filter by Project

Filter instances, VPCs, load balancers, and other resources by project. Quickly narrow down to just the resources you need.

Tabbed Detail View

Drill into any project to see all assigned resources organized by type in a clean tabbed interface. Instances, networking, storage -- all visible at once.

Simple CRUD

Create, rename, and delete projects with ease. Assign resources to projects from any resource management page across the panel.

Provisioning

Cloud-Init Integration

Every instance is provisioned through cloud-init, the industry standard for automated VM configuration. Network settings, user data, packages, and SSH keys are all configured before the first boot.

Network configuration

Static IPs, VPC interfaces, and dual-stack IPv4/IPv6 configured automatically via MAC address matching

SSH key injection

Public keys are injected during provisioning for secure, passwordless SSH access from day one

User data scripts and packages

Run custom commands and install packages on first boot. User scripts integrate directly into the cloud-init runcmd phase

Password configuration

Set root/admin passwords securely during provisioning, with optional password expiry on first login

Multi-platform support

Full support for Linux distributions and Windows Server. Cloud-init and cloudbase-init handle platform differences automatically

Cloud-Init Provisioning Flow

1
Instance Created

Master sends deploy command to hypervisor

2
Cloud-Init ISO Built

Network config, user data, SSH keys, scripts bundled

3
VM Boots

Cloud-init reads config, configures network, runs scripts

4
Ready to Use

Instance reports back, task marked complete, user notified

Create an Instance
# Create a new instance via REST API
curl -X POST https://panel.example.com/api/instances \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "plan_id": "a1b2c3d4-...",
    "image_id": "e5f6g7h8-...",
    "hostname": "web-01",
    "ssh_key_id": "i9j0k1l2-..."
  }'

# Response
{
  "success": true,
  "instance": {
    "id": "m3n4o5p6-...",
    "hostname": "web-01",
    "status": "deploying"
  }
}
GET
/api/instances
POST
/api/instances/{id}/start
PUT
/api/ssh-keys/{id}
DELETE
/api/instances/{id}
Developer API

REST API

Full-featured REST API with JWT authentication. Manage every aspect of your infrastructure programmatically -- from instance lifecycle to backup management.

  • Full CRUD operations

    Create, read, update, and delete instances, users, and SSH keys

  • JWT authentication

    Secure token-based authentication with refresh token support

  • Power actions and backups

    Start, stop, restart instances. Create backups and restore from snapshots via API

  • Load balancer, VPC, and project endpoints

    Manage networking, load balancers, and project organization programmatically

  • Scribe-generated documentation

    Auto-generated, always up-to-date API documentation with request/response examples

External Integration

Billing API

Purpose-built integration endpoints for external billing systems. Connect WHMCS, Blesta, HostBill, or Paymenter to automate the entire customer lifecycle from order to provisioning.

User Provisioning

Create and manage user accounts directly from your billing system

SSO Tokens

Generate single sign-on tokens for seamless login from billing portals

Instance Lifecycle

Provision, suspend, unsuspend, upgrade, and terminate instances on billing events

Credit Management

Add and manage credits for the built-in hourly billing system via API

Supported Billing Systems

WHMCS

Full module with provisioning, SSO, and configurable options

Blesta

Complete integration module for automated provisioning

HostBill

Native integration with order and service management

Paymenter

Open-source billing system integration

Migration New in v2.2.2

Orphan VM Import

Adopt existing KVM domains as managed instances without downtime. Discover untracked VMs on any registered hypervisor and onboard them with their disks, MAC, and IP intact.

Libvirt Discovery

Scan any registered hypervisor for libvirt domains and qcow2 disks that are not yet tracked by the panel. See exactly which VMs are candidates for adoption.

Per-disk Storage Assignment

Map each existing qcow2 file to a managed storage pool in place. No file moves, no rsync, no copy step. The original disk path is registered as-is.

MAC and IP Preserved

Two-step admin adoption flow keeps MAC and IP addresses intact. Imported VMs land with a Pending Assignment banner until you finalize ownership and plan.

Preview

AI Assistant

Manage your infrastructure in plain English. Ask questions, get instant answers, and execute actions -- all from a conversational interface backed by real-time panel data.

  • Natural language queries

    Ask "which instances are offline?" or "show me all VPCs in the production project" and get instant structured answers

  • Guided troubleshooting

    Describe a problem and get step-by-step remediation paths -- from disk full alerts to network misconfiguration

  • Script and API generation

    Describe what you want to automate -- get back a ready-to-use user script or REST API call sequence

  • Resource optimization suggestions

    Identify oversized or underutilized instances and get right-sizing recommendations based on actual usage

  • Context-aware help

    The assistant knows your current panel state -- projects, instances, and network topology -- so answers are specific to your setup

Available as an opt-in preview. Data stays within your deployment -- no prompts sent to third-party servers without explicit configuration.

Hypervisor AI
Connected to your panel
Which instances in the production project have been offline for more than an hour?

Found 2 instances in the Production project currently offline:

db-primary-01

Offline 2h 14m · 192.168.1.10

stopped
worker-node-03

Offline 5h 41m · 192.168.1.23

stopped

Want me to start them, or check their last power event logs first?

Check the last power event for db-primary-01
Ask about your infrastructure...

Ready to automate your infrastructure?

Start with a free 30-day trial. Deploy Docker apps, explore the REST API, set up user scripts, and organize everything with projects.