Databases
Corelix supports a wide variety of databases to suit different application needs. Even if you don't see your favorite database here, you can still host it using Docker.
One-Click Databases
Corelix offers one-click setup for the following databases:
Each database has its own strengths and use cases. Click on a database to learn more about it.
Corelix expands database support with 50+ additional database images beyond what's available in the base Coolify platform. This includes:
- Graph databases: Neo4j, ArangoDB, Apache AGE
- Vector databases: Milvus, Qdrant, Weaviate, Chroma
- Time-series databases: TimescaleDB, InfluxDB, QuestDB, TDengine
- Document databases: CouchDB, RavenDB, SurrealDB, FerretDB
- Search engines: Elasticsearch, OpenSearch, MeiliSearch, Typesense, Manticore
- Key-value stores: Valkey, Garnet, etcd, Memcached
- Column-family databases: ScyllaDB, Apache Cassandra
- NewSQL databases: CockroachDB, TiDB, YugabyteDB, Vitess
- OLAP databases: Apache Doris, StarRocks, DuckDB
These are automatically detected and classified thanks to enhanced database image recognition and the coolify.database Docker label system.
Deploy a Database
When selecting a New Resource, you can select a database from the list. You can configure a database with a simple click.
Ports Mapping vs Public Port
Ports Mapping
Ports mapping uses Docker's port mapping feature. It maps the container port to the host port. For example, 8080:80 maps container port 80 to host port 8080.
Public Port
Public port exposes the container port to the internet by starting an Nginx TCP proxy.
Which one should I use?
- Port mappings make the connection/port permanent (you need to restart your database to change it).
- The public port makes the connection/port dynamic (you can change it without restarting the database — the Nginx TCP proxy is restarted for you).
Proxy Timeout
When using a public port, an Nginx TCP proxy is started to expose your database. By default, the proxy timeout is set to 3600 seconds (1 hour).
You can configure this in the database settings under Proxy Timeout (seconds). This controls how long idle connections are kept open before Nginx closes them.
- The minimum value is 1 second.
- Set a higher value if you have long-running queries or connections that stay idle for extended periods.
Access Database During Builds
If you are using Nixpacks build pack, you have two ways to access your database during builds:
- Database & your application are in the same network: You can reach it using the
internal URLprovided by Corelix. - Database & your application are not in the same network: You need to set your database to be
Accessible over the internetand use thepublic URL.
With Corelix's network management feature, you can create dedicated Docker networks per environment, ensuring your databases are isolated from other environments while remaining accessible to applications within the same environment.