Quick Start Guide
Get from zero to a running server in under 5 minutes. This guide covers CLI installation, authentication, and your first deployment.
Prerequisites
You'll need a Sigilhosting account. Sign up at sigilhosting.com/register — no credit card required. You get $100 free trial credit.
Install the CLI
The Sigilhosting CLI is a single binary with zero dependencies.
brew install sigilhosting/tap/sigilhosting # Or download manually curl -sL https://cli.sigilhosting.com/install.sh | sh
# Debian / Ubuntu sudo apt-get update && sudo apt-get install -y sigilhosting # Fedora / RHEL sudo dnf install sigilhosting # Arch Linux pacman -S sigilhosting # Universal installer curl -sL https://cli.sigilhosting.com/install.sh | sh
# Via Scoop scoop bucket add sigilhosting https://github.com/sigilhosting/scoop-bucket scoop install sigilhosting # Via winget winget install Sigilhosting.CLI # Via Chocolatey choco install sigilhosting
docker pull sigilhosting/cli:latest docker run -it --rm sigilhosting/cli:latest server list
Verify your installation:
$ sigilhosting version sigilhosting 2.14.0 (build 2024-11-15, go1.22.5)
Authenticate
Generate an API token from Console → API Keys, then:
$ sigilhosting auth login Enter your API token: hvm_live_xxxxxxxxxxxxxxxxxx ✓ Authenticated as user@example.com ✓ Default region set to us-east-1
Or set the environment variable:
export SIGILHOSTING_TOKEN="hvm_live_xxxxxxxxxxxxxxxxxx"
sigilhosting auth switch to manage multiple profiles — useful for separating personal and team accounts.Deploy your first server
$ sigilhosting server create \
--plan starter \
--region us-east-1 \
--image ubuntu-24.04 \
--ssh-key deploy \
--label my-first-server
Creating server... done (11.2s)
ID: vps-7xk2m9
Label: my-first-server
IPv4: 198.51.100.42
IPv6: 2001:db8::42
Plan: Starter (1 vCPU, 1 GB, 25 GB NVMe)
Region: us-east-1 (New York)
Status: runningSSH into your server
$ sigilhosting ssh vps-7xk2m9 root@my-first-server:~# # Or use standard SSH $ ssh root@198.51.100.42
Clean up
$ sigilhosting server delete vps-7xk2m9 Delete server vps-7xk2m9 (my-first-server)? [y/N] y ✓ Server deleted. No further charges.
What's next?
- Explore the CLI Reference for all available commands
- Set up Private Networking between servers
- Deploy a Kubernetes cluster with managed control plane
- Configure Terraform for infrastructure as code
- Read the API Reference for programmatic access
CLI Reference
Complete command reference for the Sigilhosting CLI. Every API operation is available as a CLI command.
Global flags
| Flag | Description | Default |
|---|---|---|
--token | API token (overrides config) | Config file |
--region | Target region | us-east-1 |
--output | Format: table, json, yaml, csv | table |
--no-color | Disable colored output | false |
--verbose | Show request/response details | false |
--quiet | Suppress non-error output | false |
sigilhosting server
Manage cloud VPS instances.
# List all servers
sigilhosting server list
sigilhosting server list --region eu-west-1
sigilhosting server list --output json
# Create a server
sigilhosting server create \
--plan pro \
--region us-east-1 \
--image ubuntu-24.04 \
--ssh-key deploy \
--label web-prod-1 \
--vpc vpc-abc123 \
--firewall fw-web \
--backups enabled \
--user-data @cloud-init.yaml
# Server lifecycle
sigilhosting server stop vps-7xk2m9
sigilhosting server start vps-7xk2m9
sigilhosting server reboot vps-7xk2m9
sigilhosting server rebuild vps-7xk2m9 --image debian-12
sigilhosting server resize vps-7xk2m9 --plan scale
sigilhosting server delete vps-7xk2m9
# Info & access
sigilhosting server info vps-7xk2m9
sigilhosting server console vps-7xk2m9
sigilhosting ssh vps-7xk2m9
sigilhosting server history vps-7xk2m9sigilhosting dedicated
Manage dedicated (bare metal) servers.
# List available configurations
sigilhosting dedicated configs
# Order a dedicated server
sigilhosting dedicated create \
--cpu epyc-9454 \
--ram 128gb \
--disk 2x1920gb-nvme \
--network 10gbps-unmetered \
--region us-east-1 \
--os ubuntu-24.04
# Management
sigilhosting dedicated list
sigilhosting dedicated info ded-8fk2p3
sigilhosting dedicated power-cycle ded-8fk2p3
sigilhosting dedicated ipmi ded-8fk2p3
sigilhosting dedicated reinstall ded-8fk2p3 --os rocky-9sigilhosting k8s
Manage Kubernetes clusters.
# Create cluster
sigilhosting k8s create \
--name production \
--version 1.30 \
--region us-east-1 \
--node-pool default:3:pro
# Manage
sigilhosting k8s list
sigilhosting k8s kubeconfig production
sigilhosting k8s upgrade production --version 1.31
# Node pools
sigilhosting k8s pool add production \
--name gpu-workers --size 2 --plan gpu-a100
sigilhosting k8s pool scale production default --size 5
sigilhosting k8s pool delete production gpu-workerssigilhosting network
# VPCs
sigilhosting vpc create --name backend --region us-east-1 --subnet 10.0.0.0/16
sigilhosting vpc list
sigilhosting vpc peer vpc-abc123 vpc-def456
# Floating IPs
sigilhosting ip create --region us-east-1
sigilhosting ip assign ip-a1b2c3 vps-7xk2m9
sigilhosting ip unassign ip-a1b2c3
# Firewalls
sigilhosting firewall create --name web-rules
sigilhosting firewall rule add fw-web \
--direction in --protocol tcp --port 80,443 --source 0.0.0.0/0
sigilhosting firewall rule add fw-web \
--direction in --protocol tcp --port 22 --source 203.0.113.0/24
sigilhosting firewall apply fw-web vps-7xk2m9sigilhosting dns
# Zones sigilhosting dns zone create example.com sigilhosting dns zone list sigilhosting dns zone import example.com --file bind.zone sigilhosting dns zone export example.com # Records sigilhosting dns record add example.com --type A --name @ --value 198.51.100.42 --ttl 300 sigilhosting dns record add example.com --type AAAA --name @ --value 2001:db8::42 sigilhosting dns record add example.com --type MX --name @ --value "10 mail.example.com" sigilhosting dns record add example.com --type CNAME --name www --value example.com sigilhosting dns record add example.com --type TXT --name @ --value "v=spf1 include:_spf.sigilhosting.com ~all" sigilhosting dns record list example.com sigilhosting dns record delete example.com rec-abc123
sigilhosting domain
# Search & register sigilhosting domain search example sigilhosting domain register example.com --years 1 --whois-privacy sigilhosting domain transfer example.com --auth-code EPP123ABC # Management sigilhosting domain list sigilhosting domain info example.com sigilhosting domain renew example.com --years 1 sigilhosting domain nameservers example.com --set ns1.sigilhosting.com,ns2.sigilhosting.com sigilhosting domain lock example.com
sigilhosting lb
# Create load balancer
sigilhosting lb create \
--name web-lb \
--region us-east-1 \
--algorithm round-robin \
--health-check http:/health --interval 10
# Targets
sigilhosting lb target add web-lb vps-7xk2m9 --port 8080
sigilhosting lb target add web-lb vps-abc123 --port 8080
sigilhosting lb target remove web-lb vps-7xk2m9
# Rules
sigilhosting lb rule add web-lb --listen 443 --target 8080 --protocol https --cert cert-abc
sigilhosting lb rule add web-lb --listen 80 --target 8080 --protocol httpAuthentication
Every API request requires authentication. Sigilhosting uses bearer tokens with granular scoping and automatic rotation support.
API tokens
Generate tokens in Console → API Keys. Each token can be scoped:
| Scope | Permissions | Use case |
|---|---|---|
full_access | All operations | Admin, CI/CD |
compute | Server CRUD, snapshots, backups | Deployment scripts |
network | VPC, firewall, DNS, floating IP | Network automation |
dns | DNS zones and records only | ACME / cert-manager |
read_only | GET requests only | Monitoring, dashboards |
billing | Invoice, usage, payment methods | Finance tools |
Using tokens
curl -H "Authorization: Bearer hvm_live_xxxxxxxxxx" \
https://api.sigilhosting.com/v1/servers# Interactive login (stores in ~/.config/sigilhosting/config.yaml) sigilhosting auth login # Direct token sigilhosting --token hvm_live_xxx server list # Multiple profiles sigilhosting auth add --name production --token hvm_live_xxx sigilhosting auth add --name staging --token hvm_live_yyy sigilhosting auth switch production
export SIGILHOSTING_TOKEN="hvm_live_xxxxxxxxxxxxxxxxxx" export SIGILHOSTING_REGION="eu-west-1" # optional default region
hvm_test_ have no access to production resources.Token rotation
Rotate tokens without downtime:
# Generate new token (old stays valid 24 hours) sigilhosting auth rotate # Explicitly revoke old token sigilhosting auth revoke hvm_live_old_token
OAuth2 (Teams)
For team integrations, Sigilhosting supports OAuth2 authorization code flow. Register your application in Console → Settings → OAuth Apps.
Authorization URL: https://auth.sigilhosting.com/oauth/authorize Token URL: https://auth.sigilhosting.com/oauth/token Scopes: compute network dns billing read
SDKs & Libraries
Official client libraries for popular languages. All open-source and published to standard package registries.
Python
pip install sigilhosting
import sigilhosting
client = sigilhosting.Client(token="hvm_live_xxx")
# Create a server
server = client.servers.create(
plan="pro",
region="us-east-1",
image="ubuntu-24.04",
ssh_keys=["deploy"],
label="web-prod-1",
vpc="vpc-abc123"
)
print(f"Server {server.id} ready at {server.ipv4}")
# List all servers
for s in client.servers.list():
print(f"{s.label:20} {s.ipv4:15} {s.status}")
# Async support
import asyncio
async def main():
async with sigilhosting.AsyncClient(token="hvm_live_xxx") as client:
servers = await client.servers.list()
tasks = [client.servers.delete(s.id) for s in servers if s.label.startswith("temp-")]
await asyncio.gather(*tasks)
asyncio.run(main())Node.js / TypeScript
npm install @sigilhosting/sdk
import { Sigilhosting } from "@sigilhosting/sdk";
const client = new Sigilhosting({ token: "hvm_live_xxx" });
// Create a server
const server = await client.servers.create({
plan: "pro",
region: "us-east-1",
image: "ubuntu-24.04",
sshKeys: ["deploy"],
label: "web-prod-1"
});
console.log(`Server ${server.id} ready at ${server.ipv4}`);
// Stream events
for await (const event of client.events.stream()) {
console.log(`[${event.type}] ${event.resource}: ${event.status}`);
}Go
go get github.com/sigilhosting/sigilhosting-go
package main
import (
"context"
"fmt"
"github.com/sigilhosting/sigilhosting-go"
)
func main() {
client := sigilhosting.NewClient("hvm_live_xxx")
ctx := context.Background()
server, err := client.Servers.Create(ctx, &sigilhosting.ServerCreateRequest{
Plan: "pro",
Region: "us-east-1",
Image: "ubuntu-24.04",
Label: "web-prod-1",
})
if err != nil {
panic(err)
}
fmt.Printf("Server %s ready at %s\n", server.ID, server.IPv4)
}Ruby
gem install sigilhosting
require "sigilhosting"
client = Sigilhosting::Client.new(token: "hvm_live_xxx")
server = client.servers.create(
plan: "pro",
region: "us-east-1",
image: "ubuntu-24.04",
label: "web-prod-1"
)
puts "Server #{server.id} ready at #{server.ipv4}"PHP
composer require sigilhosting/sigilhosting-php
Cloud VPS
Deploy high-performance virtual servers with dedicated vCPU, NVMe storage, and 10 Gbps networking across 28 global regions.
Plans
| Plan | vCPU | Memory | NVMe | Transfer | Price |
|---|---|---|---|---|---|
| Starter | 1 core | 1 GB | 25 GB | 1 TB | $5/mo · $0.007/hr |
| Builder | 2 cores | 4 GB | 80 GB | 3 TB | $12/mo · $0.018/hr |
| Pro | 4 cores | 8 GB | 160 GB | 5 TB | $24/mo · $0.036/hr |
| Scale | 8 cores | 32 GB | 320 GB | 10 TB | $48/mo · $0.071/hr |
| Enterprise | 16 cores | 64 GB | 500 GB | Unmetered | $96/mo · $0.143/hr |
Available images
| Image | Slug | End of Life |
|---|---|---|
| Ubuntu 24.04 LTS | ubuntu-24.04 | Apr 2029 |
| Ubuntu 22.04 LTS | ubuntu-22.04 | Apr 2027 |
| Debian 12 | debian-12 | Jun 2028 |
| Rocky Linux 9 | rocky-9 | May 2032 |
| Fedora 40 | fedora-40 | May 2025 |
| Arch Linux | arch-latest | Rolling |
| Alpine 3.20 | alpine-3.20 | Nov 2026 |
| FreeBSD 14 | freebsd-14 | Mar 2029 |
| Image | Slug | Stack |
|---|---|---|
| WordPress | wordpress | Nginx, MariaDB, PHP 8.3, WP-CLI |
| LAMP | lamp-ubuntu | Apache, MySQL 8, PHP 8.3 |
| LEMP | lemp-ubuntu | Nginx, MySQL 8, PHP 8.3 |
| Node.js | nodejs-ubuntu | Node 22 LTS, Yarn, PM2 |
| Docker | docker-ubuntu | Docker CE, Compose v2 |
| GitLab CE | gitlab | GitLab CE, Nginx, PostgreSQL |
| Plausible | plausible | Plausible Analytics, ClickHouse |
Upload your own images in raw, qcow2, or VMDK format:
sigilhosting image upload \
--file ubuntu-custom.qcow2 \
--name "Ubuntu Custom" \
--description "Base with monitoring"
sigilhosting image list --type custom
sigilhosting server create --image img-custom-abc123 --plan proRegions
| Region | Slug | Location | Plans |
|---|---|---|---|
| New York | us-east-1 | Secaucus, NJ | All |
| Los Angeles | us-west-1 | El Segundo, CA | All |
| Dallas | us-south-1 | Dallas, TX | All |
| Chicago | us-north-1 | Chicago, IL | Starter–Scale |
| Amsterdam | eu-west-1 | Amsterdam, NL | All |
| Frankfurt | eu-cent-1 | Frankfurt, DE | All |
| London | eu-north-1 | London, UK | All |
| Singapore | ap-se-1 | Singapore, SG | All |
| Tokyo | ap-ne-1 | Tokyo, JP | All |
| Sydney | ap-south-1 | Sydney, AU | Starter–Pro |
| São Paulo | sa-east-1 | São Paulo, BR | Starter–Pro |
| Toronto | ca-east-1 | Toronto, CA | All |
Backups & snapshots
Automated daily backups retained for 7 days. Manual snapshots at any time:
sigilhosting server snapshot vps-7xk2m9 --name "pre-upgrade" sigilhosting server restore vps-7xk2m9 --snapshot snap-abc123 sigilhosting snapshot list sigilhosting server create --image snap-abc123 --plan pro
Cloud-init / user data
Pass cloud-init config at creation to automate setup:
#cloud-config package_update: true packages: - nginx - certbot - fail2ban runcmd: - systemctl enable --now nginx - ufw allow "Nginx Full" - ufw allow OpenSSH - ufw --force enable
sigilhosting server create --plan pro --image ubuntu-24.04 --user-data @cloud-init.yaml
Dedicated Servers
Single-tenant bare metal with full hardware control. No hypervisor overhead, no noisy neighbors.
CPU configurations
| Processor | Cores/Threads | Base/Boost | L3 Cache | TDP | Price |
|---|---|---|---|---|---|
| AMD EPYC 9254 | 24C/48T | 2.9/4.15 GHz | 128 MB | 200W | $89/mo |
| AMD EPYC 9454 | 48C/96T | 2.75/3.8 GHz | 256 MB | 290W | $179/mo |
| AMD EPYC 9654 | 96C/192T | 2.4/3.55 GHz | 384 MB | 360W | $349/mo |
| Intel Xeon w9-3495X | 56C/112T | 1.9/4.8 GHz | 105 MB | 350W | $399/mo |
Memory options
| Configuration | Type | Speed | Price |
|---|---|---|---|
| 64 GB (4×16 GB) | DDR5 ECC | 4800 MT/s | Included |
| 128 GB (4×32 GB) | DDR5 ECC | 4800 MT/s | +$40/mo |
| 256 GB (8×32 GB) | DDR5 ECC | 4800 MT/s | +$120/mo |
| 512 GB (8×64 GB) | DDR5 ECC | 4800 MT/s | +$280/mo |
Provisioning times
- In-stock configurations: 15–60 minutes
- Custom configurations: 2–4 hours
- Special orders: 1–5 business days
IPMI / Remote management
sigilhosting dedicated ipmi ded-8fk2p3 sigilhosting dedicated console ded-8fk2p3 sigilhosting dedicated power-on ded-8fk2p3 sigilhosting dedicated power-off ded-8fk2p3 sigilhosting dedicated power-cycle ded-8fk2p3
GPU Instances
NVIDIA A100 and H100 GPU servers with pre-installed ML stack for training, inference, and rendering.
Configurations
| GPU | VRAM | vCPU | RAM | NVMe | Price |
|---|---|---|---|---|---|
| 1× A100 | 80 GB HBM2e | 12 | 120 GB | 500 GB | $2.50/hr |
| 2× A100 | 160 GB HBM2e | 24 | 240 GB | 1 TB | $4.80/hr |
| 4× A100 | 320 GB HBM2e | 48 | 480 GB | 2 TB | $9.20/hr |
| 8× A100 (DGX) | 640 GB HBM2e | 96 | 960 GB | 4 TB | $17.60/hr |
| 1× H100 | 80 GB HBM3 | 16 | 200 GB | 1 TB | $3.80/hr |
| 8× H100 (DGX) | 640 GB HBM3 | 128 | 1.5 TB | 8 TB | $28.50/hr |
Pre-installed stack
- NVIDIA Driver 550.x, CUDA 12.4, cuDNN 9.x
- PyTorch 2.4, TensorFlow 2.16, JAX 0.4
- Jupyter Lab with GPU monitoring extension
- conda environment with common ML libraries
- Docker + NVIDIA Container Toolkit
- NVLink / NVSwitch for multi-GPU configs
sigilhosting gpu create --config a100-1x --region us-east-1 sigilhosting gpu jupyter gpu-abc123 sigilhosting ssh gpu-abc123 nvidia-smi
Kubernetes
Managed Kubernetes with free control plane. Pay only for worker nodes. Certified conformant, auto-upgrading.
Cluster creation
sigilhosting k8s create \
--name production \
--version 1.30 \
--region us-east-1 \
--node-pool "default:3:pro" \
--node-pool "gpu:2:gpu-a100"Supported versions
| Version | Status | End of Support |
|---|---|---|
| 1.30 | Current | Feb 2026 |
| 1.29 | Supported | Oct 2025 |
| 1.28 | Deprecated | Jun 2025 |
Integrated add-ons
sigilhosting k8s addon list sigilhosting k8s addon install production metrics-server sigilhosting k8s addon install production cert-manager sigilhosting k8s addon install production nginx-ingress sigilhosting k8s addon install production sigilhosting-csi sigilhosting k8s addon install production external-dns
Auto-scaling
# cluster-autoscaler.yaml
apiVersion: autoscaling.sigilhosting.com/v1
kind: NodePoolAutoscaler
spec:
nodePool: default
minNodes: 2
maxNodes: 10
scaleDown:
enabled: true
delay: 10m
utilizationThreshold: 0.5Kubeconfig
sigilhosting k8s kubeconfig production > ~/.kube/config kubectl get nodes kubectl get pods --all-namespaces
Load Balancers
Layer 4 and Layer 7 load balancing with health checks, SSL termination, sticky sessions, and WebSocket support.
| Feature | L4 (TCP/UDP) | L7 (HTTP/HTTPS) |
|---|---|---|
| Algorithms | Round Robin, Least Conn | Round Robin, Least Conn, IP Hash |
| SSL | Passthrough | Full termination + Let's Encrypt |
| Health Checks | TCP port check | HTTP path + status code |
| Sticky Sessions | Source IP | Cookie-based |
| Proxy Protocol | v1, v2 | X-Forwarded-For |
| Price | $12/mo per load balancer | |
sigilhosting lb create \
--name web-lb \
--region us-east-1 \
--type http \
--algorithm round-robin \
--health-check "http:/health:10:3:5" \
--ssl-cert auto \
--domains example.com,www.example.com \
--listen "443:8080:https" \
--listen "80:8080:http:redirect-https" \
--target vps-7xk2m9 \
--target vps-abc123Private Networks (VPC)
Isolated Layer 2 networks between your servers within a region. Zero-cost internal traffic.
Create a VPC
sigilhosting vpc create --name backend --region us-east-1 --subnet 10.0.0.0/16 sigilhosting vpc attach backend vps-7xk2m9 sigilhosting vpc attach backend vps-abc123 sigilhosting ssh vps-7xk2m9 ping 10.0.0.2 # reaches vps-abc123
Subnet planning
| CIDR | Usable IPs | Recommended for |
|---|---|---|
10.0.0.0/24 | 254 | Small deployments |
10.0.0.0/20 | 4,094 | Medium deployments |
10.0.0.0/16 | 65,534 | Large deployments |
VPC peering
# Same region (free) sigilhosting vpc peer vpc-abc123 vpc-def456 # Cross-region ($0.01/GB) sigilhosting vpc peer vpc-abc123 vpc-ghi789 --cross-region
frontend (10.1.0.0/16), backend (10.2.0.0/16), database (10.3.0.0/16). Peer them selectively for isolation.Firewalls
Stateful packet-filtering firewalls applied at the hypervisor level. Rules enforced before traffic reaches your server.
sigilhosting firewall create --name web-rules
# Allow HTTP/HTTPS from anywhere
sigilhosting firewall rule add web-rules \
--direction in --protocol tcp --port 80,443 \
--source 0.0.0.0/0 --action accept
# Allow SSH from your IP only
sigilhosting firewall rule add web-rules \
--direction in --protocol tcp --port 22 \
--source 203.0.113.42/32 --action accept
# Allow internal VPC traffic
sigilhosting firewall rule add web-rules \
--direction in --protocol all \
--source 10.0.0.0/16 --action accept
# Default deny inbound
sigilhosting firewall rule add web-rules \
--direction in --protocol all \
--source 0.0.0.0/0 --action drop
# Apply to servers
sigilhosting firewall apply web-rules vps-7xk2m9 vps-abc123Rules are evaluated top-to-bottom. First matching rule wins. Default is deny.
sigilhosting server console to recover.Floating IPs
Static IP addresses that can be reassigned between servers instantly. Perfect for failover and blue-green deployments.
sigilhosting ip create --region us-east-1 --label production-ip sigilhosting ip assign ip-a1b2c3 vps-7xk2m9 sigilhosting ip reassign ip-a1b2c3 vps-newserver # instant failover sigilhosting ip delete ip-a1b2c3
| Feature | Details |
|---|---|
| Price | $3/mo per IP (free when assigned to a server) |
| IPv4 | One public IPv4 per floating IP |
| IPv6 | /64 block per floating IP |
| Failover time | < 30 seconds |
| PTR records | Configurable via API |
DNS Management
Anycast DNS with sub-3-second propagation across 16 global nodes. Free for all customers.
Supported record types
| Type | Description | Example |
|---|---|---|
A | IPv4 address | 198.51.100.42 |
AAAA | IPv6 address | 2001:db8::42 |
CNAME | Canonical name alias | www → example.com |
MX | Mail exchange | 10 mail.example.com |
TXT | Text record | v=spf1 include:... |
NS | Nameserver delegation | ns1.sigilhosting.com |
SRV | Service locator | 0 5 5269 xmpp.example.com |
CAA | Certificate authority auth | 0 issue "letsencrypt.org" |
ALIAS | CNAME-like at zone apex | @ → lb-abc.sigilhosting.com |
Zone import & export
sigilhosting dns zone import example.com --file zone.db sigilhosting dns zone export example.com > zone.db sigilhosting dns zone import example.com --from cloudflare --api-key xxx
Domain Registration
Register domains across 500+ TLDs with free WHOIS privacy and auto-renewing SSL.
Pricing
| TLD | Register | Renew | Transfer |
|---|---|---|---|
| .com | $11.99/yr | $13.99/yr | $11.99 |
| .net | $13.99/yr | $15.99/yr | $13.99 |
| .org | $12.99/yr | $14.99/yr | $12.99 |
| .io | $39.99/yr | $39.99/yr | $39.99 |
| .dev | $14.99/yr | $14.99/yr | $14.99 |
| .co | $29.99/yr | $29.99/yr | $29.99 |
| .cloud | $9.99/yr | $12.99/yr | $9.99 |
SSL Certificates
Free auto-renewing SSL via Let's Encrypt, or bring your own certificates.
# Auto-provision (requires DNS pointed to Sigilhosting) sigilhosting ssl auto example.com sigilhosting ssl auto example.com --wildcard # *.example.com sigilhosting ssl list sigilhosting ssl info cert-abc123
Custom certificates
sigilhosting ssl upload \
--cert cert.pem \
--key key.pem \
--chain chain.pem \
--name "Wildcard 2025"
sigilhosting lb ssl web-lb --cert cert-abc123WHOIS Privacy
Free WHOIS privacy protection on all domains. Your personal information replaced with proxy details in the public WHOIS database.
| Field | Without privacy | With privacy |
|---|---|---|
| Registrant name | Your full name | Sigilhosting Privacy Protection |
| Your email | proxy-xxxxx@whois.sigilhosting.com | |
| Phone | Your phone | +1.2198745722 |
| Address | Your address | 200 Winski Dr, Michigan City, IN |
API Overview
The Sigilhosting API is a RESTful JSON API at https://api.sigilhosting.com/v1. All endpoints require Bearer token authentication.
Base URL
https://api.sigilhosting.com/v1
Authentication
curl -H "Authorization: Bearer hvm_live_xxx" \
-H "Content-Type: application/json" \
https://api.sigilhosting.com/v1/serversPagination
List endpoints return paginated results. Use page and per_page parameters.
X-Total: 142 X-Total-Pages: 3 X-Page: 2 X-Per-Page: 50 Link: <https://api.sigilhosting.com/v1/servers?page=3>; rel="next"
Rate limits
| Endpoint type | Limit | Window |
|---|---|---|
| Read (GET) | 300 requests | Per minute |
| Write (POST/PUT/DELETE) | 60 requests | Per minute |
| Authentication | 10 requests | Per minute |
Compute Endpoints
Create, manage, and destroy compute resources.
Servers
Create server — parameters
Kubernetes
Load Balancers
Network Endpoints
Manage VPCs, firewalls, and floating IPs.
VPCs
Firewalls
Floating IPs
DNS Endpoints
Manage DNS zones and records.
Domain Endpoints
Register, transfer, and manage domains.
Errors & Rate Limits
Standard HTTP status codes with structured error responses.
HTTP status codes
| Code | Meaning | Common causes |
|---|---|---|
| 200 | OK | Request succeeded |
| 201 | Created | Resource created |
| 204 | No Content | Successful delete |
| 400 | Bad Request | Invalid parameters, malformed JSON |
| 401 | Unauthorized | Missing or invalid token |
| 403 | Forbidden | Token lacks required scope |
| 404 | Not Found | Resource doesn't exist |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Error | Server-side error (contact support) |
Error codes
| Code | Description |
|---|---|
invalid_parameter | A parameter value is invalid or missing |
server_not_found | The specified server does not exist |
region_unavailable | Region temporarily unavailable |
quota_exceeded | Account resource quota reached |
insufficient_funds | Account balance too low |
action_in_progress | Another action already running on resource |
domain_unavailable | Domain is already registered |
rate_limited | Too many requests — retry after reset |
Terraform Provider
Infrastructure as code with the official Sigilhosting Terraform provider.
Installation
terraform {
required_providers {
sigilhosting = {
source = "sigilhosting/sigilhosting"
version = "~> 2.0"
}
}
}
provider "sigilhosting" {
token = var.sigilhosting_token # or SIGILHOSTING_TOKEN env var
}Deploy a VPS
resource "sigilhosting_server" "web" {
label = "web-prod-1"
plan = "pro"
region = "us-east-1"
image = "ubuntu-24.04"
ssh_keys = [sigilhosting_ssh_key.deploy.id]
vpc = sigilhosting_vpc.backend.id
backups = true
tags = ["production", "web"]
}
resource "sigilhosting_ssh_key" "deploy" {
name = "deploy"
public_key = file("~/.ssh/id_ed25519.pub")
}
resource "sigilhosting_vpc" "backend" {
name = "backend"
region = "us-east-1"
subnet = "10.0.0.0/16"
}Available resources
| Resource | Description |
|---|---|
sigilhosting_server | Cloud VPS instance |
sigilhosting_dedicated | Dedicated server |
sigilhosting_k8s_cluster | Kubernetes cluster |
sigilhosting_k8s_pool | Node pool within cluster |
sigilhosting_load_balancer | Load balancer |
sigilhosting_vpc | Private network |
sigilhosting_firewall | Firewall with rules |
sigilhosting_floating_ip | Floating IP address |
sigilhosting_dns_zone | DNS zone |
sigilhosting_dns_record | DNS record |
sigilhosting_domain | Registered domain |
sigilhosting_ssl_cert | SSL certificate |
sigilhosting_ssh_key | SSH public key |
sigilhosting_snapshot | Server snapshot |
Ansible Collection
Automate Sigilhosting infrastructure with the official Ansible collection.
ansible-galaxy collection install sigilhosting.cloud
Inventory plugin
# sigilhosting.yml plugin: sigilhosting.cloud.sigilhosting regions: - us-east-1 - eu-west-1 groups: web: "'web' in tags" database: "'db' in tags"
Playbook example
---
- name: Deploy web stack
hosts: localhost
collections:
- sigilhosting.cloud
tasks:
- name: Create VPC
sigilhosting_vpc:
name: app-network
region: us-east-1
subnet: 10.0.0.0/16
register: vpc
- name: Create web servers
sigilhosting_server:
label: "web-{{ item }}"
plan: pro
region: us-east-1
image: ubuntu-24.04
vpc: "{{ vpc.id }}"
ssh_keys: [deploy]
state: present
loop: [1, 2, 3]
register: serversGitHub Actions
Deploy to Sigilhosting from your CI/CD pipeline with official GitHub Actions.
Deploy on push
# .github/workflows/deploy.yml
name: Deploy to Sigilhosting
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Sigilhosting CLI
uses: sigilhosting/setup-cli@v2
with:
token: ${{ secrets.SIGILHOSTING_TOKEN }}
- name: Deploy application
run: |
sigilhosting server list --tag production --output json | \
jq -r '.[].ipv4' | \
while read ip; do
ssh root@$ip "cd /app && git pull && docker compose up -d"
done
- name: Verify
run: |
sleep 10
curl -f https://example.com/health || exit 1Billing & Invoices
Hourly billing with monthly invoices. No contracts, no minimums, no hidden fees.
How billing works
- Resources billed per-hour from creation to deletion
- Monthly invoices generated on the 1st
- Prepaid credit applied first; overage charged to payment method
sigilhosting billing usage sigilhosting billing invoices sigilhosting billing invoice inv-202601 --download sigilhosting billing payment-methods sigilhosting billing credit add --amount 100 sigilhosting billing usage --group-by resource sigilhosting billing usage --group-by region
Teams & Permissions
Invite team members with role-based access control.
| Role | Servers | Network | DNS | Billing | Team mgmt |
|---|---|---|---|---|---|
| Owner | Full | Full | Full | Full | Full |
| Admin | Full | Full | Full | View | Invite/remove |
| Developer | Full | Full | Full | None | None |
| Operator | Start/Stop | View | Edit records | None | None |
| Viewer | View | View | View | None | None |
| Billing | None | None | None | Full | None |
sigilhosting team invite user@example.com --role developer sigilhosting team list sigilhosting team update user@example.com --role admin sigilhosting team remove user@example.com
Rate Limits & Quotas
Default account quotas and API rate limits. Contact support to increase.
Resource quotas
| Resource | Default | Max (on request) |
|---|---|---|
| VPS instances | 25 | 500 |
| Dedicated servers | 5 | 50 |
| Kubernetes clusters | 5 | 20 |
| Load balancers | 10 | 50 |
| Floating IPs | 10 | 100 |
| VPCs per region | 5 | 25 |
| Firewalls | 10 | 50 |
| DNS zones | 50 | 500 |
| DNS records per zone | 500 | 10,000 |
| Registered domains | 100 | 5,000 |
| Snapshots | 25 | 100 |
| SSH keys | 50 | 200 |
| API tokens | 10 | 50 |
API rate limits
| Type | Limit | Window | Burst |
|---|---|---|---|
| GET (list/read) | 300 | 1 minute | 50 |
| POST/PUT/PATCH | 60 | 1 minute | 10 |
| DELETE | 30 | 1 minute | 5 |
| Auth endpoints | 10 | 1 minute | 3 |
