Skip to content

In-memory mode

Citadel runs with its in-memory backend when database.url is absent. It is the zero-configuration mode: no database server, connection pool, schema migration, database file, or backup job is created.

# Omit [database] entirely, or omit database.url.

/status reports the non-secret backend class as in-memory. This is a functional reference implementation of Citadel’s repository contracts, not a degraded network mode: player, storage, social, chat, notification, wallet, leaderboard, and purchase APIs behave normally while the process is alive.

All data belongs to one Citadel process and is lost when that process exits. It is therefore appropriate for local development, examples, smoke tests, and fully disposable environments only. Do not use it for a server that must retain players, sessions, game data, or audit-relevant state after restart.

There is no database to back up, restore, or inspect through the Dashboard Database Explorer. The explorer returns an explicit error for in-memory nodes because no durable schema exists.

To retain data, set a durable database.url for SQLite, PostgreSQL, CockroachDB, or MongoDB, then restart Citadel. The configured backend connects and applies its migrations during startup; a failed connection or migration stops startup rather than silently falling back to in-memory data.

Citadel does not automatically transfer existing data between in-memory and a durable backend. Treat a move as an application-level export/import or a fresh environment decision. The configuration reference lists the accepted URL schemes and shared connection options.