Skip to main content

Database Management Overview

Appliku provisions databases as Docker containers running on your server. Connection URLs are automatically injected as environment variables into your application.

Where to Find Databases

In the Appliku dashboard, databases are managed from the Application Overview page. Look for the Databases block on the right sidebar at the bottom of the page. Click "Add Database" to create one.

Supported Database Engines

EngineVersionsUse Case
PostgreSQL12, 15, 16, 17General-purpose relational database
PostGIS16 + PostGIS 3.4Geospatial data and queries
pgvector16Vector similarity search (AI/ML)
TimescaleDB15Time-series data
MySQL8Relational database (alternative to PostgreSQL)
Redis6, 7, 8Caching, message broker, session store
RabbitMQLatestMessage queue
Elasticsearch8.17Full-text search
tip

Redis is included in the free plan. It's a great choice for Django cache backends, Celery message brokers, and session storage.

How It Works

  1. Create a database from the Application Overview page
  2. Select the engine and version
  3. Choose the server:
    • For server-mode applications: a standalone server.
    • For cluster-mode applications: either a standalone server or a node in the same cluster that carries the appliku-role-db=true Swarm label. Cluster-deployed databases live on the cluster's proxy overlay network and are pinned to the selected node.
  4. Appliku provisions the database container and generates connection credentials
  5. Connection URLs are automatically added as environment variables:
    • {NAME}_URL — public connection URL
    • {NAME}_PRIVATE_URL — internal/private connection URL. For cluster-deployed databases this is a Swarm DNS name on the proxy overlay (e.g. appliku_datastore_42_db); for standalone databases it is the docker-compose internal name on the same host.

Your application can use these environment variables to connect to the database without manual configuration.

Database Operations

  • Start / Stop / Restart — Control the database container independently of your application
  • View logs — Access database container logs
  • Backups — Schedule automatic backups to local storage or S3
  • External Connections — Control whether the database port is exposed to the internet
  • Delete — Remove the database (data is lost)

Important Notes

  • Databases run as Docker containers on the chosen server, so they share that server's resources (CPU, RAM, disk).
  • Cluster-deployed databases are pinned to a single node and never moved automatically. Adding a new DB-labeled node, or labeling an existing one, only affects future databases. Removing the DB role from a node that already hosts databases is rejected.
  • Volume management (the volumes panel and migrate-to-bind-volume action) is hidden for cluster-deployed datastores; their data lives in a bind mount on the selected node, managed by Swarm.
  • Backups for cluster-deployed databases use the proxy overlay network and may run on any active, set-up server in the same cluster.

Next Steps