Skip to content
Back to Projects
AutomationAI / MLFull-StackLive

Self-hosted AI & app infrastructure

One Hetzner VPS for eight sites and five services, with a headless Claude Code worker and scheduled agents.

Service map of one VPS: HestiaCP, eight websites, Docker services, databases, scheduled jobs and ops
sites hosted
8
Docker services
5

The Challenge

My products and client systems needed one hardened, affordable home – and a WordPress publishing pipeline needed Claude Code as a text engine without the site ever holding API credentials.

The Approach

A root-side queue worker lets the WordPress site use Claude Code headless: the site queues tasks through WP-CLI, the worker claims them and runs Claude Code with a locked-down configuration (no tools, strict JSON-schema output, hard timeouts, no session persistence), and returns results through WP-CLI as the site user. It runs from cron every minute and wakes instantly on a kick file. The same pattern runs my own scheduled agents with explicit tool allow-lists and Slack reporting. Underneath is one Hetzner VPS: HestiaCP with nginx and Apache, MariaDB and PostgreSQL, mail with DKIM and SPF, fail2ban, Docker Compose services behind the proxy, systemd timers, GitHub Actions deploys and a written runbook.

Key Features

  • Headless Claude Code queue worker: no tools, strict JSON-schema output, hard timeouts
  • Runs from cron plus a kick file; no API credentials on the site, and the worker never reads the site's config
  • Scheduled Claude Code agents with tool allow-lists and Slack reporting
  • HestiaCP with nginx and Apache/PHP-FPM, MariaDB and PostgreSQL, mail with DKIM and SPF, fail2ban
  • Docker services: two R Shiny apps, n8n, Qdrant and a Python search API, bound to localhost behind the proxy
  • systemd timers, GitHub Actions deploys and a runbook: no production restarts without confirmation

Results & Impact

  • Eight sites and five Docker services on one VPS
  • The box that runs DataWeaver, PersonalityStrategy and the RAG stack
  • Claude Code in a production publishing pipeline with no credentials exposed to the site

Working on something where people and data meet?

AI automation, data science, psychometric validation or sports psychology – tell me what you're building.