Operar o Ronne
Capturas de tela da versão 0.5.0, rodando em uma instância nova com os itens de exemplo do repositório. As pessoas que aparecem nelas são contas de exemplo, e as contagens de uso são simuladas. O provedor de identidade que aparece é um substituto feito para testes.
Backups, logs e telemetria
O rmk-server backup gera um único arquivo compactado com o banco de dados, os itens armazenados e o arquivo de configurações enquanto o Ronne roda; o --verify o verifica e o restore o restaura, na mesma máquina ou em outra. O servidor grava uma linha JSON por evento, com a requisição a que ela pertence e nunca um segredo. Métricas e traces vão para um coletor OpenTelemetry só se você apontar o servidor para um.
$ pnpm run backup --out <backups folder> --yes
Wrote <backups folder>/ronne-backup-20261020-204036.tar (607 KiB) in 0.0 s.
2,968 rows in 35 tables, 16 stored files (7 KiB).
! It holds the settings file, with AUTH_SECRET and the database's password: keep it as safe as the server itself, and use --encrypt for copies that leave this machine.
! STORAGE_PATH comes from the environment and isn't in this backup.
$ pnpm run backup --verify <archive>
ronne-backup-20261020-204036.tar is complete: every checksum matches, and every released version's artifact is in it.
Made by Ronne 0.5.0 at 2026-10-20T20:40:36.894Z from SQLite, 31 migrations applied (607 KiB).
2,968 rows in 35 tables, 16 stored files (7 KiB), with the settings file.
! Not in it, as they came from the environment: STORAGE_PATH.
$ pnpm run restore <archive> --yes (into a second, empty data folder)
Restored 2,968 rows in 35 tables and 16 stored files from ronne-backup-20261020-204036.tar (made by Ronne 0.5.0 at 2026-10-20T20:40:36.894Z from SQLite) into the SQLite database.
! Wrote a settings file with a new AUTH_SECRET (not the backup's: run with --with-settings for that), so everyone signs in again.
Next, start the server: pnpm dev, or pnpm start after pnpm build.{"time":"2026-10-20T20:40:49.115Z","level":"info","msg":"Access token issued","domain":"identity","event":"token.exchanged","requestId":"01M5DGQ6629QT5AMV0FGJ0CKWB","userId":"01M5DG4FKEPH4D7JQ4AR11QFYY"}
{"time":"2026-10-20T20:40:49.180Z","level":"info","msg":"Draft uploaded","domain":"submissions","event":"draft.uploaded","requestId":"01M5DGQ677G9KEC0JAPHK2C9E2","userId":"01M5DG4FKEPH4D7JQ4AR11QFYY","files":2,"bytes":489}
{"time":"2026-10-20T20:40:50.128Z","level":"info","msg":"Released","domain":"submissions","event":"version.released","requestId":"01M5DGQ75PQDZC2SJDE1ATMY5P","userId":"01M5DG4FKEPH4D7JQ4AR11QFYY","count":1}
{"time":"2026-10-20T20:40:53.314Z","level":"info","msg":"Request handled","domain":"http","event":"http.request","requestId":"01M5DGQA9Z8Y2AKHNE9K8D402D","userId":"01M5DG4FKEPH4D7JQ4AR11QFYY","method":"GET","route":"/api/v1/workspaces/[workspace]/items/[scope]/[name]/[version]/tarball","status":200,"ms":2}Contagens de uso, se o root quiser
O root decide se o rmk e o servidor MCP informam instalações e execuções: desligado (o padrão), cada pessoa escolhe, ou obrigatório. Só ficam guardadas contagens diárias por item, versão e ferramenta, por 90 dias, nunca quem rodou o quê nem onde.


Quer experimentar? Rode a imagem Docker ou leia o código.