Skip to content

database

Alexander Herling edited this page Oct 29, 2026 · 1 revision

Database

rCommander keeps everything it must remember in one SQLite file, rcommander.db.

System Where
Windows %APPDATA%\degoya\rCommander\data\rcommander.db
Linux ~/.local/share/rcommander/rcommander.db

Next to it, while the app serves MCP, lies mcp-instance.json (see MCP server), and the folder backups holds the backups an assistant makes and the copy rCommander saves before a restore. How to back up and restore: Backup and restore.

What is in it

Only durable state: things you set up and expect to find again.

Table Holds
settings One row per setting, such as the window geometry, the MCP port and policy.
connection_folders, connections The connection tree. A connection's password, private key and passphrase are stored in it encrypted with the vault key; only the public half of a stored key (type, fingerprint, comment) is readable. Imported connections remember where they came from, so a second import updates them.
vault_meta At most one row: how the vault key is derived from the master password, and a check value. Never the password or the key.
known_hosts The SSH host keys you trusted.
tls_certificates The FTPS server certificates you trusted, by host and port with their SHA-256 fingerprint.
error_log rCommander's warnings and errors.

Each secret is encrypted on its own and bound to its table, column and row, so it cannot be moved to another connection; see Connections.

What is kept, and for how long

A table that grows with use has limits; nothing grows without bound.

Table Default Can be set between
error_log 5 000 lines, 30 days 100 to 50 000 lines, 1 to 365 days

Change them in Settings, page Retention (the settings retention.error_log.max_rows and retention.error_log.max_age_days); there is no "unlimited". A sweep at start, every hour and after every 5 000 new lines removes what is over a limit, oldest first, and gives the space back to the disk a few megabytes at a time, so the rest of rCommander never waits long for the file.

Only warnings and errors go into the error log, never informational or debug messages, and passwords or tokens in them are masked before they are stored. A line that repeats the one before it word for word is stored once.

When the graphics card loses its device

A graphics driver reset, standby or a change of GPU can take the device from under rCommander; its windows then draw nothing any more. rCommander notices and asks in a Windows message box whether to restart. Yes keeps the tabs and places, and transfers continue at the next start; No leaves the window as it is. Settings, page Appearance, Ask to restart when the graphics are lost (appearance.gpu_loss_notice, on) switches the question off. An AI assistant can read and clear the log and change the limits over MCP (diagnostics_* tools).

Clone this wiki locally