Skip to content

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

  1. Open ServicesComputeVirtual Private Servers in the dashboard
  2. Click Create
  3. Browse available plans and regions

API

List available plans:

bash
curl https://api.wayscloud.services/v1/vps/plans?region=NO \
  -H "X-API-Key: $WAYSCLOUD_API_KEY"

List OS templates:

bash
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.services if left empty
  • Tags and labels — Optional. For organizing your fleet

Click Create. The VPS starts provisioning immediately.

API

bash
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:

json
{
  "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:

bash
ssh root@203.0.113.42

Windows:

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).

API reference

WAYSCloud AS