PostgreSQL, MariaDB and Redis on your own server

Zelie runs databases beside your apps and game servers. Each one is made in a click, has no public port, is backed up and encrypted on a schedule, and can be browsed read-only in the panel or opened from your desktop tools.

A PostgreSQL table of customers, browsed read-only in Zelie

01

The engines

EngineVersionsWhat an app gets
PostgreSQL18 and 17DATABASE_URL and the engine’s usual variables
MariaDB11.8 and 10.11DATABASE_URL and the engine’s usual variables
Redis8REDIS_URL

Each runs in a container of its own, with a volume for its files.

02

Closed to the internet

A database never gets a public port. Every app is on a network of its own and the firewall drops traffic between them. Linking a database to an app opens one way through, to the database’s one port, so the app reaches it by name. Game servers link the same way, and a game server’s Database tab shows the host, port, user and password for a plugin’s config file.

The password is sealed: the panel stores it but cannot read it. Having it shown needs a second login step from the last 15 minutes, and every time is logged.

03

Backups and restores

  • Every night at 3:00, kept for seven days, unless you change it.
  • Compressed and encrypted with age before they touch the disk. A recovery file lets another server open them.
  • Copies in any S3-compatible storage, kept for 30 days by default.
  • A dump from elsewhere (.sql, .sql.gz, a Redis .rdb) can be uploaded to restore it.
  • A restore first backs up what is there. If the restore fails, that backup goes back.
A database’s backups: six nightly and manual backups marked as copied off-site

04

Upgrades with a way back

When a new patch release of the image is out, the panel offers it and backs up before it switches. Moving to a new major version, such as PostgreSQL 17 to 18, dumps the data, loads it into the new version on a new volume, and goes back to the old one if anything fails. The old volume stays until you delete it.

05

Look inside without risk

The Data tab shows tables, rows, filters by column, search, sorting and CSV export, and for Redis, keys and their values. Everything is read-only: the core builds each query itself and runs it in a read-only transaction with a time limit.

Tools like TablePlus or DBeaver connect through an SSH tunnel to a port only the server itself can reach, as a user of their own whose password is shown once.

06

Questions

Can I reach the database from my computer?

Yes, through an SSH tunnel. Zelie makes a user for the tool with its own password, shown once, so it can change without touching your apps.

Can I bring an existing database?

Upload a dump (.sql, .sql.gz or a Redis .rdb) and Zelie restores it. Statements that only fit the old server are left out and counted.

Where do the backups go?

They stay on the server, encrypted, and a copy can go to any S3-compatible storage such as Cloudflare R2, Backblaze B2, Amazon S3 or Wasabi.

Install Zelie

Run this as root on a Debian or Ubuntu server. It checks the release’s signature, installs Zelie and asks how people will reach the panel.

curl -fsSL https://github.com/Caria-Core/zelie/releases/latest/download/install.sh | sh

Free on a single server. Read how the install works first if you want to know what it changes.

Self-hosted PostgreSQL, MariaDB and Redis panel · Zelie