Deploy a VPS
Create a virtual private server with full root access, ready in 1–3 minutes. This guide covers both the dashboard and API paths.
What you are building
A Linux or Windows virtual machine with dedicated CPU, memory, and storage. The VPS gets a public IPv4 address and automatic DNS hostname.
When to use this approach
- You need full control over the OS, runtime, and networking
- You are running long-lived or stateful workloads (databases, APIs, backends)
- You need a development or staging environment that mirrors production
If you want zero-ops container deployment instead, use App Platform.
What you need
- A WAYSCloud account (sign up)
- An SSH public key (for Linux VPS)
- An API key with VPS permissions (for the API path)
Step 1 — Choose a plan and region
Dashboard
- Open Services → Compute → Virtual Private Servers in the dashboard
- Click Create
- Browse available plans and regions
API
List available plans:
curl https://api.wayscloud.services/v1/vps/plans?region=NO \
-H "X-API-Key: $WAYSCLOUD_API_KEY"List OS templates:
curl https://api.wayscloud.services/v1/vps/templates \
-H "X-API-Key: $WAYSCLOUD_API_KEY"Available regions: NO (Oslo), SE (Stockholm), DE (Frankfurt), FR (Paris).
Step 2 — Create the VPS
Dashboard
Fill in the creation form:
- Plan — CPU, memory, and storage configuration
- Region — Datacenter location
- OS template — Ubuntu, Debian, Rocky Linux, Windows Server, or custom ISO
- SSH key — Required for Linux (recommended: add before creating)
- Hostname — Optional. Auto-generated as
{id}.vm.{region}.wayscloud.servicesif left empty - Tags and labels — Optional. For organizing your fleet
Click Create. The VPS starts provisioning immediately.
API
curl -X POST https://api.wayscloud.services/v1/vps \
-H "X-API-Key: $WAYSCLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"plan_code": "vps-4gb-2cpu",
"region": "NO",
"os_template": "ubuntu-22.04",
"ssh_keys": ["ssh-rsa AAAA...your-key"],
"display_name": "Production Web Server",
"tags": ["web", "prod"]
}'Response:
{
"id": "vps-abc123",
"hostname": "vps-abc123.vm.no.wayscloud.services",
"ipv4_address": "203.0.113.42",
"status": "provisioning",
"plan_code": "vps-4gb-2cpu",
"region": "NO",
"os_template": "ubuntu-22.04"
}Step 3 — Connect to your VPS
Provisioning completes in 1–3 minutes. Once the status changes to running:
Linux:
ssh root@203.0.113.42Windows:
Connect using Remote Desktop (RDP). Credentials are available in the dashboard under the VPS detail page.
You can also use the browser-based console in the dashboard (VNC for Linux, RDP for Windows).
Step 4 — Next steps
Your VPS is running. Here is what you can do next:
- Point a domain — Create a DNS zone and add an A record pointing to your VPS IP. See Create a DNS Zone.
- Store files — Upload assets and backups to Object Storage. See Store Files.
- Add a database — Provision a managed PostgreSQL or MariaDB. See Create a Database.
- Manage lifecycle — Start, stop, reboot, and rebuild from the dashboard or via API (
POST /v1/vps/{id}/start,/stop,/reboot).
Related services
- Virtual Private Servers — full service documentation
- App Platform — container deployment alternative
- DNS Management — point domains to your VPS
Related guides
- Authentication — API key and token setup
- API Keys — create and manage credentials
API reference
- VPS API — all VPS endpoints