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
| Engine | Versions | Use Case |
|---|---|---|
| PostgreSQL | 12, 15, 16, 17 | General-purpose relational database |
| PostGIS | 16 + PostGIS 3.4 | Geospatial data and queries |
| pgvector | 16 | Vector similarity search (AI/ML) |
| TimescaleDB | 15 | Time-series data |
| MySQL | 8 | Relational database (alternative to PostgreSQL) |
| Redis | 6, 7, 8 | Caching, message broker, session store |
| RabbitMQ | Latest | Message queue |
| Elasticsearch | 8.17 | Full-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
- Create a database from the Application Overview page
- Select the engine and version
- 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=trueSwarm label. Cluster-deployed databases live on the cluster'sproxyoverlay network and are pinned to the selected node.
- Appliku provisions the database container and generates connection credentials
- 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 theproxyoverlay (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
proxyoverlay network and may run on any active, set-up server in the same cluster.
Next Steps
- PostgreSQL — The most common choice
- Redis — Caching, queues, sessions
- Database Backups — Automated backup scheduling
- External Connections — Restrict database access to the internal network
- Using SQLite with Django — Lightweight alternative with volumes