GibilGibil

Hetzner Setup

Create a Hetzner Cloud account and test the full pipeline

1. Create a Hetzner Cloud Account

  1. Go to console.hetzner.cloud
  2. Sign up / log in
  3. Create a new project (e.g. "my-gibil-project")

2. Generate an API Token

  1. In your project, go to Security → API Tokens
  2. Click Generate API Token
  3. Name: gibil-dev
  4. Permissions: Read & Write
  5. Copy the token (you won't see it again)

3. Configure your local environment

gibil auth setup --token <YOUR_HETZNER_TOKEN>
# ✓ Hetzner token saved to ~/.gibil/config.json

4. Test the full pipeline

# Step 1: Create a single instance
gibil create --name test-1 --ttl 15

# Step 2: List it
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 --ttl 30

# Step 7: Destroy it
gibil destroy test-1

5. Test with a repo

# Create 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-test

6. Test fleet mode

# Create 3 instances in parallel
gibil create --name fleet --fleet 3 --ttl 10 --json

# List all
gibil list

# Destroy all at once
gibil destroy --all

Cost awareness

Server typevCPURAMCost/hr
cpx11 (default)24 GB~€0.011
cpx2148 GB~€0.019
cx42816 GB~€0.036

A 15-minute test costs about €0.003 (~$0.003). Set short TTLs during testing.

Cleanup checklist

After testing, make sure everything is cleaned up:

  • Run gibil destroy --all to kill any remaining instances
  • Check Hetzner Console → Servers for orphaned VMs
  • Check Hetzner Console → Security → SSH Keys for orphaned keys (delete any gibil-* keys)

On this page