Provider Setup
Get an API token from Hetzner or Vultr and test the full pipeline
Gibil works with Hetzner Cloud (cheap EU/US, ARM SKUs) and Vultr (APAC density: Tokyo, Seoul, Singapore, Sydney, Mumbai, plus the rest of the world). Pick one to start; you can add the second any time with gibil init --add.
Option A: Hetzner Cloud
1. Create a Hetzner Cloud account
- Go to console.hetzner.cloud
- Sign up / log in
- Create a new project (e.g. "my-gibil-project")
2. Generate an API token
- In your project, go to Security → API Tokens
- Click Generate API Token
- Name:
gibil-dev - Permissions: Read & Write
- Copy the token (you won't see it again)
3. Run the setup wizard
gibil initPick Hetzner when prompted, paste the token. The wizard validates it and saves it under providers.hetzner in ~/.gibil/config.json.
✓ Hetzner token verified
🦎 The forge is ready. Run gibil create to light your first fire.Non-interactive: gibil init --provider hetzner --token $HETZNER_API_TOKEN.
Option B: Vultr
New Vultr customers can sign up via this link for $300 in free credits, enough for weeks of Gibil usage on small VMs. Referral link. Gibil gets a kickback that helps fund development.
For the full hand-holding walkthrough (with the IP whitelist gotcha called out), see Vultr Setup. The short version:
1. Create a Vultr account
- Sign up at Vultr
- Add a payment method (Vultr requires this before issuing API keys)
2. Generate an API key
- Go to console.vultr.com/user/apiaccess
- Important: under Access Control, add your current IP (or
0.0.0.0/0for personal use). Vultr blocks API requests until you do this - Copy your Personal Access Token from the top of the page
3. Run the setup wizard
gibil initPick Vultr when prompted, paste the token. The wizard validates it against the Vultr API and saves it under providers.vultr in ~/.gibil/config.json. Default region is nrt (Tokyo).
Non-interactive: gibil init --provider vultr --token $VULTR_API_KEY.
Add a second provider later
Already have one set up? Add the other:
gibil init --add vultr # if you started with Hetzner
gibil init --add hetzner # if you started with VultrSee what's available
Before forging anything:
gibil providersLists every configured provider, the default region, and the size catalog (small / medium / large) with concrete vCPU / RAM / disk specs. No token needed; the catalog is static metadata. gibil providers --json for agents.
Test the full pipeline
# Step 1: Forge a server (uses your default provider)
gibil create --name test-1 --ttl 15
# Or pick a specific provider and region:
gibil create --name tokyo-test --provider vultr --location nrt --size small --ttl 15
# Step 2: List it (the PROVIDER column shows which cloud)
gibil list
# Step 3: SSH into it
gibil ssh test-1
# Run: node --version (should show v20.x)
# Run: exit
# Step 4: Run a remote command
gibil run test-1 "uname -a && node --version"
# Step 5: Run with JSON output
gibil run test-1 "echo hello from gibil" --json
# Step 6: Extend TTL
gibil extend test-1 30m
# Step 7: Burn it down
gibil destroy test-1Test with a repo
# Forge with a repo (auto-clones on boot)
gibil create --name repo-test \
--repo https://github.com/vercel/next.js \
--ttl 15
# Verify repo was cloned
gibil run repo-test "ls /root/project"
# Clean up
gibil destroy repo-testTest fleet mode
# Forge 3 servers in parallel
gibil create --name fleet --fleet 3 --ttl 10 --json
# List all
gibil list
# Burn them all
gibil destroy --allCleanup checklist
After testing, make sure everything is cleaned up:
- Run
gibil destroy --allto burn any remaining servers - Check Hetzner Console → Servers for any orphaned
gibil-*servers and SSH keys - Check Vultr Console → Products → Cloud Compute and Account → API → SSH Keys for any orphaned
gibil-*resources