Storage backends

Sentinel works with six backends out of the box. SQLite is the default, zero setup. Switch to anything else with one config line.

BackendWhen to use
SQLiteDefault. Embedded, single file. Perfect for solo servers and small teams.
H2Embedded alternative when SQLite is restricted on your host.
MySQLProduction grade. Recommended for servers with 50+ daily players.
MariaDBDrop-in for MySQL. Fully supported.
PostgreSQLModern, fast, JSON-friendly.
MongoDBNoSQL backend. Sentinel mirrors relational data into the embedded SQLite store as a transition path while v1.1 finishes the native Mongo DAOs.

Switching backends

One line in config.yml:

storage:
  type: "mysql"   # change this
  remote:
    host: "127.0.0.1"
    port: 3306
    database: "sentinel"
    user: "sentinel"
    password: "your-password"

Then restart the server. Sentinel runs the schema migrations against the new backend on first boot.

Migrating data

Switching backends does not copy your existing data. If you want to keep your punishments, staff, and audit log, export from the old backend and import into the new one before switching, or stay on the same backend and rely on Sentinel's automatic backups for data continuity.

Migrations

Sentinel tracks its schema version in a schema_version table. Every plugin update applies missing steps idempotently — your data carries forward without intervention.

Backups

For SQLite, Sentinel uses VACUUM INTO to take consistent snapshots into plugins/NexoraSentinel/backups/. For other backends, use your DB's native dump tool. Backups appear in the dashboard's Backups page where you can restore in one click.