coolify-full — database provisioning
StartAction classes, real per-engine differences.
Every database engine goes through the same seven-step pipeline — but "same shape" doesn't mean
"same behavior." The table below is what actually differs once you read each engine's own
Start<Engine>.php, not what you'd assume from the shared structure alone.
The SSL step reuses one CA certificate per server (generated once, shared by every database on that server) plus one leaf certificate per database, signed by it — see the SSL Subsystem wiki page. ClickHouse is the only engine that skips this step entirely.
| Engine | SSL/TLS | Certs mounted at | Healthcheck probe | Worth knowing |
|---|---|---|---|---|
| MySQL | Yes | /etc/mysql/certs |
mysqladmin ping -u root -p... |
Real authenticated connectivity check. |
| MariaDB | Yes | /etc/mysql/certs |
healthcheck.sh --connect --innodb_initialized |
Its own image's script, not mysqladmin — despite sharing MySQL's wire protocol. |
| PostgreSQL | Yes | /var/lib/postgresql/certs |
psql -U ... -d ... -c 'SELECT 1' |
A real query, not just pg_isready's bare connectivity check. |
| Redis | Yes | /etc/redis/certs |
redis-cli ping |
The probe doesn't pass the configured password, even though the server always starts with --requirepass set. |
| KeyDB | Yes | /etc/keydb/certs |
keydb-cli --pass ... ping |
Unlike Redis's probe, this one does pass the password. |
| Dragonfly | Yes | /etc/dragonfly/certs |
redis-cli -a ... ping |
Reuses redis-cli itself (Redis-protocol-compatible) — there's no dedicated Dragonfly CLI. |
| MongoDB | Yes | /etc/mongo/certs |
echo ok |
Not a real connectivity check at all — always reports healthy regardless of Mongo's actual state. |
| ClickHouse | No | — | clickhouse-client ... --query 'SELECT 1' |
The only engine with no SSL/TLS support anywhere in its StartAction. Also the only one that raises container ulimits (nofile → 262144). |
Two healthchecks are weaker than they look: MongoDB's is a hardcoded
echo ok — it can never actually detect a down or unreachable Mongo instance — and
Redis's doesn't authenticate even though the server requires a password.
Neither is a bug this page is claiming to have found and fixed; they're just real, current
behavior worth knowing before you rely on either healthcheck to mean what it sounds like it means.