Debian 13 · Docker · CLI-first

Build it.
Host it.
Check it.

A small, opinionated toolkit for turning a clean Debian server into a manageable Docker hosting platform — without hiding the infrastructure behind a control panel.

ctl-suite 1.0.1 serverctl 1.1.0 sitectl 2.1.1 raportctl 0.1.6
root@green:~

# serverctl inspector

[ OK ] Debian 13

[ OK ] Docker + Compose

[ OK ] Caddy runtime config valid

[ OK ] CrowdSec firewall bouncer active

[ OK ] Stalwart + Roundcube healthy

[ OK ] Real client IP enabled

0 failures · 0 warnings

#

One suite, three jobs

Readable infrastructure.
Repeatable operations.

CTL Suite keeps the underlying Docker Compose files, service configuration and filesystem layout inspectable. The scripts automate the boring and risky parts without turning the server into a black box.

01

CLI first

Everything important is available as an explicit command that can be inspected, repeated and documented.

02

Safe by default

Inspect, back up, generate, validate, apply, health-check — and roll back when the operation allows it.

03

No panel lock-in

The server remains a normal Debian + Docker machine. The suite adds orchestration, not a proprietary runtime.

The toolkit

Three independent utilities.

Install all three or only the pieces you need.

S
Infrastructure

serverctl

1.1.0

Builds and maintains the common server layer: Docker, Caddy, MariaDB, Redis, CrowdSec, Stalwart, Roundcube, outbound SMTP and the custom PHP image.

$ serverctl inspector
coresecuritymailupdates
W
Websites

sitectl

2.1.1

Creates and manages WordPress or generic PHP sites with their own Nginx/PHP-FPM stack, database, Redis namespace, backups and lifecycle operations.

$ sitectl add-wordpress example.com
backupresourcesauthreal-ip
R
Observability

raportctl

0.1.6

Produces a readable system report covering resources, Docker, hosted sites, backups, CrowdSec, logs, errors, ports and optional serverctl/sitectl health checks.

$ raportctl
healthlogsmail reportstandalone
Built for real operations

Useful things, not dashboard theatre.

↻

Controlled upgrades

Read-only update scanning, interactive patch upgrades and explicit branch changes for stateful services.

▣

Site lifecycle

Create, suspend, unsuspend, archive, restore and remove sites with safety backups where appropriate.

⌁

Real client IP

Cloudflare → Caddy → Nginx → PHP propagation with trust boundaries preserved along the chain.

◫

Resource profiles

Optional CPU/RAM ceilings and PHP-FPM tuning per site without forcing limits on existing deployments.

◇

Backup & restore

Online or cold backups, integrity checking, restore selectors and safety backups before destructive changes.

◎

Actual health checks

Inspector and doctor verify services and runtime behavior instead of stopping at “container is running”.

Architecture

A boring stack — on purpose.

Well-known components, clear responsibilities, no magic service mesh required.

Internet
↓
Cloudflare optional
↓
Caddy TLS + reverse proxy
↓
Nginx
↓
PHP-FPM
MariaDBRedis
↓
Stalwart
↓
Roundcube
CrowdSec + firewall bouncer watches the edge
Safety model

Automation without pretending nothing can fail.

CTL Suite prefers explicit steps and verifiable outcomes. The goal is not to eliminate the administrator — it is to eliminate repetitive mistakes.

inspect→backup→generate→validate→apply→health-check
Install

One bundle.
Choose what you need.

The suite installer can deploy every tool or only selected components. Existing configuration is kept separate from the package itself.

allserverctlsitectlraportctl
shell
unzip ctl-suite-v1.0.1.zip
cd ctl-suite-v1.0.1
sudo ./install.sh all

# or select components
sudo ./install.sh serverctl sitectl
ctlsuite.com

Control the server.
Keep the server yours.

Debian 13 · Docker · Caddy · MariaDB · Redis · CrowdSec · Stalwart · Roundcube

Back to top