Back to skills
SkillHub ClubAnalyze Data & AIFull StackDevOpsData / AI

admin-infra-contabo

Imported from https://github.com/evolv3-ai/vibe-skills.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
0
Hot score
74
Updated
March 20, 2026
Overall rating
C2.6
Composite score
2.6
Best-practice grade
A92.0

Install command

npx @skill-hub/cli install evolv3-ai-vibe-skills-admin-infra-contabo

Repository

evolv3-ai/vibe-skills

Skill path: skills/admin-infra-contabo

Imported from https://github.com/evolv3-ai/vibe-skills.

Open repository

Best for

Primary workflow: Analyze Data & AI.

Technical facets: Full Stack, DevOps, Data / AI.

Target audience: everyone.

License: MIT.

Original source

Catalog source: SkillHub Club.

Repository owner: evolv3-ai.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install admin-infra-contabo into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/evolv3-ai/vibe-skills before adding admin-infra-contabo to shared team environments
  • Use admin-infra-contabo for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: admin-infra-contabo
description: |
  Deploys infrastructure on Contabo using Cloud VPS and Object Storage.
  Focuses on cost‑effective provisioning and Contabo-specific CLI/API quirks.

  Use when: provisioning Contabo Cloud VPS, configuring Object Storage, or troubleshooting Contabo-specific issues.

  Keywords: contabo, cntb, VPS, cloud compute, budget hosting, best value, object storage, infrastructure
license: MIT
---

# Contabo Infrastructure

**Status**: Production Ready | **Dependencies**: cntb CLI, SSH key pair

---

## Navigation

- Operations, troubleshooting, config, and cost snapshot: `references/OPERATIONS.md`

---

## Step 0: Gather Required Information (MANDATORY)

**STOP. Before ANY deployment commands, collect ALL parameters from the user.**

Copy this checklist and confirm each item:

```
Required Parameters:
- [ ] SERVER_NAME        - Unique name for this server
- [ ] CONTABO_REGION     - Region (EU, US-central, US-east, US-west, SIN, JPN, AUS)
- [ ] CONTABO_PRODUCT_ID - Product/plan ID (see profiles below)
- [ ] SSH_KEY_PATH       - Path to SSH private key (default: ~/.ssh/id_rsa)

Deployment Purpose (determines recommended profile):
- [ ] Purpose: coolify / kasm / both / custom
      coolify → V39 (Cloud VPS 10 SP, €5/mo)
      kasm    → V45 (Cloud VPS 20 SP, €8/mo)
      both    → V46 (Cloud VPS 30, €14/mo)
      custom  → Ask for specific product ID
```

**Recommended profiles by purpose:**

| Purpose | Product ID | Plan | vCPU | RAM | Monthly |
|---------|-----------|------|------|-----|---------|
| coolify | V39 | Cloud VPS 10 SP | 4 | 8GB | €5 |
| kasm | V45 | Cloud VPS 20 SP | 6 | 18GB | €8 |
| both | V46 | Cloud VPS 30 | 8 | 24GB | €14 |

**DO NOT proceed to Prerequisites until ALL parameters are confirmed.**

---

## Prerequisites

Before using this skill, verify the following:

### 1. Contabo CLI Installed

```bash
cntb --version
```

**If missing**, install with:

```bash
# Download from GitHub releases
# Linux
curl -sL https://github.com/contabo/cntb/releases/latest/download/cntb_linux_amd64.tar.gz | tar xz
sudo mv cntb /usr/local/bin/

# macOS
curl -sL https://github.com/contabo/cntb/releases/latest/download/cntb_darwin_amd64.tar.gz | tar xz
sudo mv cntb /usr/local/bin/

# Windows (PowerShell)
Invoke-WebRequest -Uri "https://github.com/contabo/cntb/releases/latest/download/cntb_windows_amd64.zip" -OutFile cntb.zip
Expand-Archive cntb.zip -DestinationPath .
```

### 2. Contabo Account & API Credentials

**If you don't have a Contabo account**:

Sign up at: https://contabo.com/?ref=YOUR_REFERRAL_CODE

> *Disclosure: This is a referral link from the CJ Affiliate program. The skill author may receive $25-$250 commission. Using this link helps support the development of these skills.*

**Get API Credentials**: https://my.contabo.com/api/details

You need:
- **Client ID** (OAuth2)
- **Client Secret** (OAuth2)
- **API User** (your email)
- **API Password** (your account password or generated one)

### 3. cntb CLI Configured

```bash
cntb get instances
```

**If it shows an error**, configure with:

```bash
# Set via environment variables
export CNTB_OAUTH2_CLIENT_ID="your_client_id"
export CNTB_OAUTH2_CLIENT_SECRET="your_client_secret"
export CNTB_OAUTH2_USER="your_api_user"
export CNTB_OAUTH2_PASS="your_api_password"

# Or configure interactively
cntb config set-credentials
```

### 4. SSH Key Pair

```bash
ls ~/.ssh/id_rsa.pub
```

**If missing**, generate with:

```bash
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
```

### 5. SSH Key Available

Unlike other providers, Contabo requires you to specify the SSH key during instance creation via the `--sshKeys` parameter with the actual public key content.

```bash
cat ~/.ssh/id_rsa.pub
```

### 6. Test Authentication

```bash
cntb get datacenters
```

**If this fails**: Credentials may be incorrect. Verify at https://my.contabo.com/api/details

---

## Server Profiles

### Coolify/Kasm Deployments - BEST VALUE

| Profile | Plan | vCPU | RAM | Disk | Monthly Cost |
|---------|------|------|-----|------|--------------|
| `coolify` | Cloud VPS 10 SP | 4 | 8GB | 100GB | €5 |
| `kasm` | Cloud VPS 20 SP | 6 | 18GB | 150GB | €8 |
| `both` | Cloud VPS 30 | 8 | 24GB | 200GB | €14 |

### Standard Plans (More Storage)

| Profile | Plan | vCPU | RAM | Disk | Monthly Cost |
|---------|------|------|-----|------|--------------|
| `standard-small` | Cloud VPS S | 4 | 8GB | 200GB SSD | €8 |
| `standard-medium` | Cloud VPS M | 6 | 16GB | 400GB SSD | €14 |
| `standard-large` | Cloud VPS L | 8 | 30GB | 800GB SSD | €26 |
| `standard-xl` | Cloud VPS XL | 10 | 60GB | 1600GB SSD | €39 |

<details>
<summary><strong>Price Comparison - Why Contabo?</strong></summary>

| Provider | 6 vCPU, 16-18GB RAM | Monthly Cost |
|----------|---------------------|--------------|
| **Contabo VPS 20 SP** | 6 vCPU, 18GB | **€8** |
| Hetzner CX42 | 8 vCPU, 16GB | €20 |
| DigitalOcean | 8 vCPU, 16GB | $96 |
| Vultr | 6 vCPU, 16GB | $96 |
| Linode | 6 vCPU, 16GB | $96 |

Contabo offers **5-10x better value** than most competitors.

</details>

---

## Deployment Steps

### Step 1: Set Environment Variables

```bash
export CONTABO_REGION="EU"                 # EU, US-central, US-east, US-west, SIN, JPN, AUS
export CONTABO_PRODUCT_ID="V48"            # See product IDs below (V48 verified working)
export SERVER_NAME="my-server"
```

<details>
<summary><strong>Region options</strong></summary>

| Code | Location | Region |
|------|----------|--------|
| `EU` | Germany (Nuremberg) | Europe |
| `US-central` | St. Louis, MO | US Central |
| `US-east` | New York | US East |
| `US-west` | Seattle | US West |
| `SIN` | Singapore | Asia |
| `JPN` | Tokyo | Japan |
| `AUS` | Sydney | Australia |

Run `cntb get datacenters` for full list.

</details>

<details>
<summary><strong>Product ID reference</strong></summary>

| Product ID | Plan | vCPU | RAM | Disk | Price | Status |
|------------|------|------|-----|------|-------|--------|
| V12 | VPS S NVMe | 4 | 8GB | 100GB | €5 | ✅ Verified |
| V48 | VPS M (Cloud VPS 2 SSD) | 6 | 16GB | 400GB | €14 | ✅ Verified |
| V35 | Cloud VPS 1 | 4 | 6GB | 100GB | €4.50 | Untested |
| V39 | Cloud VPS 10 SP | 4 | 8GB | 100GB NVMe | €5 | Untested |
| V45 | Cloud VPS 20 SP | 6 | 18GB | 150GB NVMe | €8 | ⚠️ May not work |
| V46 | Cloud VPS 30 | 8 | 24GB | 200GB | €14 | Untested |
| V47 | Cloud VPS S | 4 | 8GB | 200GB SSD | €8 | Untested |
| V49 | Cloud VPS L | 8 | 30GB | 800GB SSD | €26 | Untested |
| V50 | Cloud VPS XL | 10 | 60GB | 1600GB SSD | €39 | Untested |

**Important**: Some product IDs from Contabo documentation may be outdated. V48 and V12 are verified working. Run `cntb get products --productType vps` for current list.

</details>

### Step 2: Create Instance

```bash
# Get the SSH public key content
SSH_KEY_CONTENT=$(cat ~/.ssh/id_rsa.pub)

# Create instance
cntb create instance \
  --productId "$CONTABO_PRODUCT_ID" \
  --region "$CONTABO_REGION" \
  --displayName "$SERVER_NAME" \
  --imageId "ubuntu-22.04" \
  --sshKeys "$SSH_KEY_CONTENT"
```

### Step 3: Get Instance Details

```bash
# List instances to get the ID
INSTANCE_ID=$(cntb get instances --output json | jq -r '.[] | select(.displayName=="'"$SERVER_NAME"'") | .instanceId')
echo "Instance ID: $INSTANCE_ID"

# Get instance details
cntb get instance "$INSTANCE_ID"

# Get IP address
SERVER_IP=$(cntb get instance "$INSTANCE_ID" --output json | jq -r '.ipConfig.v4.ip')
echo "SERVER_IP=$SERVER_IP"
```

### Step 4: Wait for Server Ready

```bash
# Wait for instance to be running
echo "Waiting for instance to be running..."
while [ "$(cntb get instance "$INSTANCE_ID" --output json | jq -r '.status')" != "running" ]; do
  sleep 10
done
echo "Instance is running!"

# Wait for SSH to be available (typically 2-5 minutes for Contabo)
echo "Waiting for SSH to be available..."
until ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no root@$SERVER_IP "echo connected" 2>/dev/null; do
  sleep 10
done
echo "Server is ready!"
```

### Step 5: Verify Connection

```bash
ssh root@$SERVER_IP "uname -a && free -h && df -h /"
```

### Step 6: Output for Downstream Skills

```bash
# Contabo only offers x86 architecture
SERVER_ARCH="amd64"

# Save to .env.local for downstream skills
echo "SERVER_IP=$SERVER_IP" >> .env.local
echo "SSH_USER=root" >> .env.local
echo "SSH_KEY_PATH=~/.ssh/id_rsa" >> .env.local
echo "SERVER_ARCH=$SERVER_ARCH" >> .env.local
echo "COOLIFY_SERVER_IP=$SERVER_IP" >> .env.local
echo "KASM_SERVER_IP=$SERVER_IP" >> .env.local

echo ""
echo "Instance deployed successfully!"
echo "  IP: $SERVER_IP"
echo "  Arch: $SERVER_ARCH"
echo "  SSH: ssh root@$SERVER_IP"
```

---

## Verify Deployment

```bash
ssh root@$SERVER_IP "echo 'Contabo instance connected successfully'"
```

---

## Object Storage Auto-Scaling

Contabo supports auto-scaling limits for object storage to control costs.

### Create Object Storage with Auto-Scaling

```bash
# Create object storage bucket
cntb create objectStorage \
  --region "$CONTABO_REGION" \
  --displayName "my-storage" \
  --totalPurchasedSpaceTB 0.5 \
  --autoScaling.state enabled \
  --autoScaling.sizeLimitTB 2
```

This allows storage to automatically grow up to 2TB as needed.

---

## Cleanup

**Warning**: This is destructive and cannot be undone.

```bash
# Cancel instance (Contabo uses "cancel" not "delete")
cntb cancel instance "$INSTANCE_ID"

# Note: Cancellation may take effect at end of billing period
# For immediate deletion, contact Contabo support
```

---

## Operations

Troubleshooting, best practices, configuration variables, and cost snapshots are in `references/OPERATIONS.md`.

---

## Logging Integration

When performing infrastructure operations, log to the centralized system:

```bash
# After provisioning
log_admin "SUCCESS" "operation" "Provisioned Contabo VPS" "id=$INSTANCE_ID provider=Contabo"

# After destroying
log_admin "SUCCESS" "operation" "Cancelled Contabo VPS" "id=$INSTANCE_ID"

# On error
log_admin "ERROR" "operation" "Contabo deployment failed" "error=$ERROR_MSG"
```

See `admin` skill's `references/logging.md` for full logging documentation.

---

## References

- [Contabo Control Panel](https://my.contabo.com/)
- [cntb CLI Documentation](https://github.com/contabo/cntb)
- [API Documentation](https://api.contabo.com/)
- [Pricing](https://contabo.com/en/vps/)
- [Contabo SDK (PHP)](https://packagist.org/packages/contabo/contabo-sdk)
admin-infra-contabo | SkillHub