ClickHouse
Coolify deploys ClickHouse as a standalone analytical database on the selected server and destination. A new resource gets a generated administrator password, a persistent volume at /var/lib/clickhouse, an internal connection URL, and a health check.
ClickHouse is a column-oriented database for analytical queries and online analytical processing (OLAP).
Create a ClickHouse database
Open New Resource
Open the project and environment where the database should live, then select New Resource.
Select ClickHouse
Under Databases, select ClickHouse. You can also search for ClickHouse by name.
Select a server
Select the server that should run ClickHouse. Build servers cannot be selected because they do not host running database resources.
Select a destination
Select the Docker network destination that ClickHouse should join.
Review the generated configuration
Coolify creates the resource and opens General. Review the image, administrator username, generated password, native port, and connection URL. Keep the default private networking unless an external client requires access.
Start ClickHouse
Select Start and follow the startup output. Wait until ClickHouse is running and healthy, then copy the Clickhouse URL (internal) into clients on the same destination network.
Default configuration
| Setting | Default or behavior |
|---|---|
| Native internal port | 9000 |
| Default image | clickhouse/clickhouse-server:25.11 |
| HTTP interface | 8123 inside the container |
| Administrator username | default |
| Database | default when no other database is configured |
| Data mount | /var/lib/clickhouse |
| Scheduled backups | Supported |
| SSL | Not available in the standalone database interface |
Coolify's generated Clickhouse URL (internal) uses the native protocol and port 9000:
clickhouse://<username>:<password>@<database-container>:9000/<database>If an HTTP client or GUI needs the HTTP interface, map the container's 8123 port with Port mappings. When Public access > Access is Public through TCP proxy, use the generated Clickhouse URL (public) for the native protocol; configure an HTTP mapping separately when the client requires HTTP.
For example, map 8123:8123 and connect an HTTP client to http://<server-ip>:8123 with the ClickHouse administrator username and password. Map 9000:9000 when a client uses the native TCP protocol, such as clickhouse-client.
Configure ClickHouse
Open General to change the image, administrator credentials, Port mappings, public proxy, and supported custom Docker options. The current standalone ClickHouse form does not expose a database-name field; the generated URL uses the resource's configured database value, which defaults to default. Coolify creates a persistent volume at /var/lib/clickhouse when it creates the resource.
ClickHouse does not expose a custom configuration editor or SSL selector in the standalone database interface. Use a Docker Compose deployment when you need to manage a custom ClickHouse topology or configuration files directly.
Back up and restore ClickHouse
Coolify supports scheduled ClickHouse backups. Configure a schedule under Backups, enter one or more comma-separated database names, and configure local or S3 retention. Coolify creates a ClickHouse backup archive and removes expired copies according to the schedule's retention rules.
Use the database's Terminal or an approved ClickHouse client to verify the restored tables. Coolify's built-in Import Backup workflow does not support ClickHouse.
The backup archive is created through ClickHouse's backup workflow. Test an archive against a disposable ClickHouse resource before relying on it for recovery.
Health checks
Coolify's default health check runs clickhouse-client inside the container and executes a simple query. Configure the interval, timeout, retries, and start period under Healthcheck, then restart ClickHouse after saving.
Official ClickHouse resources
Existing data volumes with file mounts
If an older ClickHouse resource with a file mount was affected by the data-volume issue, Coolify keeps its existing data and asks you to adopt it before the next start. Review the volume and take a backup before confirming; do not replace it with an empty volume.
