I run a Drupal 11 production site. For years, managed Drupal hosting meant one thing: pay Acquia, Pantheon, or Platform.sh a significant monthly fee and hope nothing breaks.
Last month I built Actools — a single-command enterprise Drupal installer that runs on a €10/month Hetzner VPS. It now handles everything my managed hosting used to do, plus things it never did.
Here is the honest comparison.
What Managed Hosting Gives You
Acquia Cloud starts at around €134/month for a basic production environment. For that you get:
- Managed Drupal hosting
- Automated backups
- A CDN
- SSH access
- A deployment pipeline (basic)
- Support tickets
What you do not get: control. You cannot touch the server. You cannot customise the stack. You cannot add a XeLaTeX worker for PDF generation. You cannot run your own Redis configuration. You pay for their infrastructure decisions.
What I Built Instead
One bash script. One config file. One command:
sudo ./actools.sh
What it deploys in under 10 minutes on a fresh Hetzner VPS:
- Drupal 11 — production-isolated with PHP 8.3-FPM
- Caddy 2.8 — automatic HTTPS, custom rate-limiting plugin
- MariaDB 11.4 — with binary logging for point-in-time recovery
- Redis 7 — session caching, page caching
- XeLaTeX worker — PDF generation fully containerised
- S3 storage — works with AWS, Backblaze, Wasabi, Cloudflare R2, MinIO
-
Preview environments —
actools branch feature-xspins up a full isolated environment - CI/CD pipeline — GitHub Actions integration built in
- Prometheus + Grafana — full observability stack
- Automated backups — encrypted, offsite, with restore testing
- Self-healing health checks — containers restart on failure
- Zero-downtime migrations — database migrations without taking the site down
Total cost: €10/month for a Hetzner CX22 (2 vCPU, 4GB RAM).
The XeLaTeX Part
This is the detail that matters if you generate PDFs from Drupal content.
Every managed host I tried either did not support XeLaTeX at all, or required a separate server, or had it as an expensive add-on. With Actools, the XeLaTeX worker lives inside a Docker container. It builds once, caches, and is available to every environment:
actools pdf-test # Verifies XeLaTeX is working
actools storage-info # Shows S3 config and PDF mode
PDFs generated by Drupal go directly to S3. No local storage. No egress fees with Cloudflare R2.
The Preview Environments Part
This one still surprises people when I show them.
actools branch feature-redesign
# → Creates: dev-feature-redesign.yourdomain.com
# → Full database clone
# → Full files clone
# → Isolated PHP-FPM container
# → Own Redis namespace
# → Automatic HTTPS
actools branch --list
actools branch --destroy feature-redesign
Pantheon charges extra for multidev environments. Acquia limits them by plan. With Actools they are unlimited and take about 90 seconds to spin up.
The Observability Part
actools health
# → Checks: web, database, cache, worker, storage
# → Returns: green/yellow/red per component
# → Auto-restarts failed containers
actools logs --tail 100
actools drush status
Grafana dashboards are available at grafana.yourdomain.com with Drupal-specific metrics out of the box.
The Backup Part
actools backup
# → Dumps database
# → Archives files
# → Encrypts with age
# → Uploads to S3
# → Tests restore in isolation
# → Reports: backup verified
actools restore-test
# → Pulls latest backup
# → Restores to isolated environment
# → Runs smoke tests
# → Confirms data integrity
Most managed hosts say "we take backups." Actools proves the backup works every time it runs.
What It Cannot Do (Honest)
Managed hosts have large support teams. If something goes wrong at 3am, you can file a ticket.
With Actools you are the support team. The health checks, the observability, the self-healing containers — they reduce the 3am events significantly. But they do not eliminate the possibility. If you are not comfortable being the operator of your own infrastructure, managed hosting is still the right answer for you.
Actools is for teams and individuals who want control, want cost efficiency, and are comfortable running a VPS.
The Numbers
| Acquia Basic | Pantheon Performance | Actools + Hetzner | |
|---|---|---|---|
| Monthly cost | ~€134 | ~€179 | €10 |
| Preview environments | Limited | Extra cost | Unlimited |
| XeLaTeX / custom workers | No | No | Yes |
| Full server access | No | No | Yes |
| Observability (Grafana) | Extra | Extra | Included |
| Restore testing | Manual | Manual | Automated |
| S3 provider choice | Locked | Locked | Any |
Getting Started
The installer and full documentation are available at feesix.com.
Requirements:
- A Hetzner VPS (CX22 or larger, €10/month)
- Ubuntu 24.04
- A domain pointing at the server
# Clone into a dedicated directory — important
# The installer uses the directory it runs from as the project root
git clone https://github.com/actools-pl/actoolsDrupal.git
cd actoolsDrupal
# Configure
cp actools.env.example actools.env
nano actools.env
# Required: BASE_DOMAIN, DRUPAL_ADMIN_EMAIL
# Everything else auto-generates
# Install
sudo ./actools.sh
That is it. Drupal 11 with the full enterprise stack, running in under 10 minutes.
One important note: Always clone into a subdirectory as shown above. The installer creates all project files —
docker-compose.yml,Caddyfile,docroot/,logs/,backups/— relative to whereveractools.shlives. If you run it from your home directory directly, everything lands there. Clone first, then run.
What is Coming
Phase 4.5 is in progress: encrypted offsite backups, Cloudflare Tunnel for zero-trust networking, multi-user RBAC with audit trails, and a DNA/resurrection system that rebuilds a complete server from a single JSON snapshot in under 15 minutes.
The goal is a platform that any serious Drupal team can run confidently without a managed hosting bill.
Built on a €10 server. Running in production. Replacing a €134/month bill.
Questions or feedback? Reach me at hello@feesix.com or leave a comment below.
Top comments (0)