Server Provisioning
هذا المحتوى غير متوفر بلغتك بعد.
Server Provisioning
Section titled “Server Provisioning”nself Cloud provisions Hetzner VPS instances on your behalf. This page covers server types, regions, DNS setup, SSH bootstrap, and backup configuration.
Server Types
Section titled “Server Types”| Type | vCPU | RAM | Disk | Hetzner Price |
|---|---|---|---|---|
cx11 | 2 | 2 GB | 20 GB | ~€4.51/mo |
cx21 | 2 | 4 GB | 40 GB | ~€8.21/mo |
cx31 | 2 | 8 GB | 80 GB | ~€15.90/mo |
cx41 | 4 | 16 GB | 160 GB | ~€30.99/mo |
cx51 | 8 | 32 GB | 240 GB | ~€59.98/mo |
Minimum: cx11 for development or light workloads.
Recommended: cx21 for a personal ɳChat or ɳClaw backend. cx31 for teams or ɳTV.
Regions
Section titled “Regions”| Region | Location | Notes |
|---|---|---|
fsn1 | Falkenstein, Germany | Default, best latency for EU |
nbg1 | Nuremberg, Germany | EU alternative |
hel1 | Helsinki, Finland | EU North, lower latency for Nordics |
ash | Ashburn, USA | US East |
hil | Hillsboro, USA | US West |
Pick the region closest to your users.
During provisioning, nself Cloud creates a Cloudflare DNS A record pointing your chosen subdomain at the Hetzner server IP.
Your domain must be managed by Cloudflare (or you provide an existing server IP). If you bring your own DNS, set the A record yourself before provisioning completes, the health check waits up to 10 minutes for DNS propagation.
SSH Bootstrap
Section titled “SSH Bootstrap”After the VM is up, the provisioner:
- Generates an SSH key pair for the server (private key stored encrypted in our database)
- SSHes in as
root - Runs the standard bootstrap:
Terminal window apt-get update -qqapt-get install -y docker.io docker-compose-plugin curlcurl -sSL https://install.nself.org | bash - Runs
nself installwith your configured plugins - Sets up a daily backup cron via
nself backup enable
The private SSH key is used only by the Cloud control plane for remote CLI commands (nself upgrade, log streaming, metrics). It is never exposed to users.
Automated Backups
Section titled “Automated Backups”Every provisioned server gets daily Hetzner Snapshots. Backups are retained for 30 days.
To restore from a backup:
- Dashboard → Servers → select server → Backups
- Choose a snapshot date
- Click Restore: the server is stopped, snapshot applied, then restarted
Restoration takes 5-15 minutes depending on disk size.
Provisioning Status
Section titled “Provisioning Status”The dashboard polls /api/provision/[jobId] every 5 seconds during provisioning. Status values:
| Status | Meaning |
|---|---|
queued | Job created, waiting for worker |
creating_vm | Hetzner API call in progress |
bootstrapping | SSH into new VM, installing Docker + CLI |
installing | nself install running |
configuring_dns | Cloudflare A record being set |
issuing_tls | Let’s Encrypt cert request |
health_check | Waiting for stack to report healthy |
running | Complete, server is live |
failed | Provisioning failed, see error message |
Destroying a Server
Section titled “Destroying a Server”Dashboard → Servers → select server → Danger Zone → Destroy Server.
Destroying a server:
- Cancels the Stripe subscription (prorated credit applied)
- Runs
nself destroyon the remote, stops all containers, removes volumes - Deletes the Hetzner VM
- Removes the DNS A record
- Marks the server record as
destroyedin the dashboard
Data is permanently deleted. Export your data before destroying.