Help wiki Running a server
Running kabacus-server
Shared books over an HTTP API, the web app and an MCP endpoint.
Launch and connect
kabacus-server serves one ledger to several people and devices. It ships as a container image with the books in a /data volume (/data/books.kabacus is made on first start) or in PostgreSQL via database_url.
podman run -d --name kabacus-server --userns=keep-id --read-only --tmpfs /tmp --network none \
-v /path/to/data:/data \
-v "$XDG_RUNTIME_DIR/kabacus:/run/kabacus" \
-v /path/to/server.toml:/etc/kabacus/server.toml:ro \
localhost/kabacus-server:latest --auth=none- --auth=none is for one user on one computer, over a unix socket only. For OAuth or the remote HTTPS listener, configure [auth] and [remote] and drop it.
- Other devices connect over the HTTPS listener with Connect to a Server… in the app. An ordinary certificate or a private CA works.
- /mcp serves MCP over streamable HTTP; clients sign in with the same provider.
- The server logs one line per request, to the journal if its socket is mounted, otherwise stderr.
- Set account_kinds in the config to change how account paths map to kinds; it reloads on SIGHUP.
The container README in the Kabacus repository lists every volume and setting.