Skip to content

Core

Database access & imports

Publish selected databases and import dumps with a safety backup.

Public TCP access

Public access is off until an operator configures it. Panel-host PostgreSQL, MySQL, MariaDB, Redis, Valkey, KeyDB, Dragonfly and MongoDB can use a dedicated Traefik TCP sidecar. An IP allowlist is mandatory, with at most 100 ranges and no /0. Uploaded-certificate TLS termination is optional and unavailable for MySQL/MariaDB. Node databases do not support public access.

Import an existing dump

  • Database admins can upload resumable 8 MiB chunks. Operators can select an object in a backup destination.
  • Supported formats: PostgreSQL custom/plain SQL, MySQL/MariaDB SQL, MongoDB archive and Redis-compatible RDB (Redis, Valkey, KeyDB, Dragonfly), optionally gzipped.
  • A pre-import safety backup is created first, followed by a check that the panel can still authenticate to the database.
  • Use the database page, databases public-access|import|imports in the CLI, or the SDK's importFile helper. MCP exposes state and history through read-only tools.

Backup policies and panel recovery

Per-database policies choose a cron schedule, local retention, remote retention and destination. Without a policy the default is a daily backup with 7 kept. Panel self-backup separately protects SQLite, the master key, .env and Traefik config with a recovery passphrase and off-site retention; configure it under Settings → Panel backup.

The canonical guides live in the repository's DATABASES_BACKUPS.md.