$ -weight: 600;">sudo ./actools.sh
-weight: 600;">sudo ./actools.sh
-weight: 600;">sudo ./actools.sh
actools pdf-test # Verifies XeLaTeX is working
actools storage-info # Shows S3 config and PDF mode
actools pdf-test # Verifies XeLaTeX is working
actools storage-info # Shows S3 config and PDF mode
actools pdf-test # Verifies XeLaTeX is working
actools storage-info # Shows S3 config and PDF mode
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
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
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
actools health
# → Checks: web, database, cache, worker, storage
# → Returns: green/yellow/red per component
# → Auto-restarts failed containers actools logs --tail 100
actools drush -weight: 500;">status
actools health
# → Checks: web, database, cache, worker, storage
# → Returns: green/yellow/red per component
# → Auto-restarts failed containers actools logs --tail 100
actools drush -weight: 500;">status
actools health
# → Checks: web, database, cache, worker, storage
# → Returns: green/yellow/red per component
# → Auto-restarts failed containers actools logs --tail 100
actools drush -weight: 500;">status
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
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
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
# Clone into a dedicated directory — important
# The installer uses the directory it runs from as the project root
-weight: 500;">git clone https://github.com/actools-pl/actoolsDrupal.-weight: 500;">git
cd actoolsDrupal # Configure
cp actools.env.example actools.env
nano actools.env
# Required: BASE_DOMAIN, DRUPAL_ADMIN_EMAIL
# Everything else auto-generates # Install
-weight: 600;">sudo ./actools.sh
# Clone into a dedicated directory — important
# The installer uses the directory it runs from as the project root
-weight: 500;">git clone https://github.com/actools-pl/actoolsDrupal.-weight: 500;">git
cd actoolsDrupal # Configure
cp actools.env.example actools.env
nano actools.env
# Required: BASE_DOMAIN, DRUPAL_ADMIN_EMAIL
# Everything else auto-generates # Install
-weight: 600;">sudo ./actools.sh
# Clone into a dedicated directory — important
# The installer uses the directory it runs from as the project root
-weight: 500;">git clone https://github.com/actools-pl/actoolsDrupal.-weight: 500;">git
cd actoolsDrupal # Configure
cp actools.env.example actools.env
nano actools.env
# Required: BASE_DOMAIN, DRUPAL_ADMIN_EMAIL
# Everything else auto-generates # Install
-weight: 600;">sudo ./actools.sh - Managed Drupal hosting
- Automated backups
- A deployment pipeline (basic)
- Support tickets - 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-x spins 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 -weight: 500;">restart on failure
- Zero-downtime migrations — database migrations without taking the site down - A Hetzner VPS (CX22 or larger, €10/month)
- Ubuntu 24.04
- A domain pointing at the server