Skip to content

Server

Specifications

Property Value
Provider Hetzner Cloud
Plan CPX31
vCPUs 4 (AMD EPYC)
RAM 8 GB
Disk 160 GB NVMe SSD
OS Ubuntu 24.04 LTS
IP 5.78.46.18
Location Falkenstein, DE

SSH Access

ssh camlab

The camlab alias is configured in the admin's ~/.ssh/config. Key-only authentication — password login is disabled.

Swap

4 GB swap file configured:

swapon --show
# /swapfile file 4G 0B -2

Firewall (UFW)

sudo ufw status
Port Protocol Rule
22 TCP ALLOW (SSH)
80 TCP ALLOW (HTTP / ACME challenges)
443 TCP ALLOW (HTTPS)

All other ports are denied by default. Docker containers bind to 127.0.0.1 only.

Software Versions

Software Version Install Method
Docker 29.2.1 Official apt repo
Docker Compose v2 (plugin) Bundled with Docker
Caddy 2.11.1 Official apt repo (system-level)
Node.js 20.x Inside containers only

Directory Layout

/opt/camlab/                  # Main project directory
├── docker-compose.yml        # All services defined here
├── .env                      # Secrets (chmod 600)
├── caddy/Caddyfile           # Reference copy (system Caddy at /etc/caddy/Caddyfile)
├── ghost/                    # Ghost content volumes
│   ├── cam4/
│   ├── cam4models/
│   └── cam4pays/
├── ghost-mcp/                # Ghost MCP server source
├── mysql/                    # MySQL data + init scripts
│   ├── data/
│   └── init/
├── n8n/                      # n8n Dockerfile + workflow exports
│   └── data/                 # n8n persistent data (DB, credentials)
├── runners/                  # Claude Code runner configs
│   ├── Dockerfile
│   ├── cam4/
│   ├── cam4models/
│   └── cam4pays/
├── mcp-servers/              # MCP server sources
│   ├── reddit/
│   └── runware/
├── backups/                  # Backup output directory
├── docs/                     # This documentation
└── logs/                     # Deployment changelog

Maintenance

System Updates

ssh camlab
sudo apt update && sudo apt upgrade -y
sudo reboot  # if kernel update

Docker Updates

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
docker --version

Checking Resource Usage

# Memory and swap
free -h

# Disk
df -h

# Per-container resources
docker stats --no-stream

# Or use the web dashboard
# https://glances.camlab.dev