Light
English

Developers

Quick start: from sign-up to your first server

Servers are managed with the standard CloudStack API, so the cmk command line and Claude Code work out of the box.

  1. Create an account

    Sign up, verify your email and complete identity verification. Once approved, your cloud console account is opened and you can top up.

    Create an account

  2. Generate API keys

    Open the cloud console from your account page, go to your profile in the top-right menu and choose “Generate keys”. You get an API key and a secret key.

  3. Install and configure cmk

    cmk (CloudMonkey) is the official CloudStack command line. Download it for your system, then point it at SOFT Cloud. The keys are saved in ~/.cmk/config on your own machine.

    # https://github.com/apache/cloudstack-cloudmonkey/releases
    cmk set url https://console.soft.cc/client/api
    cmk set apikey    <API Key>
    cmk set secretkey <Secret Key>
    cmk sync
  4. Launch your first server

    List the zone, sizes and images, then deploy. Charges are deducted hourly from your balance. To reach the server over SSH, give it a public IP and a port-forwarding rule in the console. Images accept SSH keys only; log in as ubuntu, debian or rocky depending on the image.

    cmk register sshkeypair name=me publickey="$(cat ~/.ssh/id_ed25519.pub)"
    cmk list zones filter=id,name
    cmk list serviceofferings filter=id,name,cpunumber,memory
    cmk list templates templatefilter=executable filter=id,name
    cmk deploy virtualmachine name=dev-01 keypair=me \
        zoneid=<zone> serviceofferingid=<offering> templateid=<template>
    # Ubuntu: ubuntu · Debian: debian · Rocky Linux: rocky
    ssh -p <port> ubuntu@<public IP>
  5. Let Claude Code do it

    Once cmk works in your terminal, Claude Code can use it too. Add a few lines to your project's CLAUDE.md, then just ask in plain language.

    # CLAUDE.md
    ## SOFT Cloud
    - Manage servers with `cmk` (CloudStack CLI, already configured).
    - Ask me before creating, resizing or deleting anything: it is billed hourly.
    - The database URL is in the DATABASE_URL environment variable.

    > Launch a 2-core, 4 GB Ubuntu server called dev-01 and install Docker on it.

    Never paste your secret key into a chat. Keep it in the cmk config or an environment variable.

  6. Connect to PostgreSQL

    Order a database on the Databases page. When it is running, its page shows the connection string. Only TLS connections are accepted.

    export DATABASE_URL='postgresql://app:<password>@<host>:<port>/app?sslmode=require'
    psql "$DATABASE_URL"

Windows Server 2022 (bring your own licence)

This image is Microsoft's evaluation edition (Standard, with desktop). It includes no licence and is not activated. Under Microsoft's terms you must convert it with your own Windows Server licence (with Software Assurance or a subscription, valid on third-party clouds) before production use. The evaluation expires 180 days after first boot and then shuts down every hour. Log in as Administrator: the password is generated at first boot, and you can view or reset it in the console. Remote Desktop uses port 3389; add a port-forwarding or firewall rule yourself. We recommend at least 2 vCPU, 4 GB and a 50 GB system disk. In an administrator PowerShell:

DISM /online /Get-CurrentEdition            # ServerStandardEval
# Datacenter: /Set-Edition:ServerDatacenter
DISM /online /Set-Edition:ServerStandard /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula
# restart (it restarts once more by itself), then:
slmgr /skms <your KMS>                     # only if you use your own KMS
slmgr /ato
slmgr /dlv                                  # License Status: Licensed

We do not provide Windows licences or a KMS server, and Windows 10 / 11 is not allowed. If the server will be a domain controller, convert it first: a domain controller cannot be converted.