Skip to main content

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 Enhanced

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:

  1. Database & your application are in the same network: You can reach it using the internal URL provided by Corelix.
  2. Database & your application are not in the same network: You need to set your database to be Accessible over the internet and use the public URL.
Corelix Enhanced

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.