InkBotDocs

Configure a server

Settings, the access token, where data lives, agent apps and plugins on a server, and running it by hand.

Settings

Set these in appsettings.json, as command-line arguments (--InkBot:Name=...), or as environment variables (InkBot__Name=...):

Setting Default
InkBot:Name InkBot server The server's name in the app
InkBot:Token generated The access token
InkBot:DataFolder ~/.local/share/InkBot Server Bots, chats, settings and encrypted keys
InkBot:WorkspaceFolder InkBot in the user's Documents (or home) folder Where bots read and write files
Urls http://0.0.0.0:8740 Where it listens. The install script uses http://127.0.0.1:<port> behind Caddy.

The access token

One token gives full access to the server. It's generated on first start and saved as server-token in the data folder (readable only by the service user). The install script prints it; you can also read it with:

sudo cat "/home/inkbot/.local/share/InkBot Server/server-token"

To change it, set InkBot:Token (or InkBot__Token) and restart the service. Then update the server in the app.

Data

The data folder holds the server's bots and chats, settings, routines, triggers, skills, memory, and API keys and sign-ins encrypted with a key file (secret.key) next to them. Back it up to back up the server, or use Export in Settings → Data & backup with the server selected for a .inkbot file without secrets.

Plans and agent apps on a server

Claude Code, Grok Build and the other agent apps sign in through their own command-line tools. SSH in as the service user, install the app, and sign in once:

sudo -iu inkbot
claude auth login

Then choose Connect for it in Models & API keys with the server selected. For OpenCode, add accounts with opencode auth login there; the app lists and removes them.

Plugins on a server

Sign-in plugins (Notion, Linear and so on) open the sign-in on your PC, and the app passes it to the server, which keeps and refreshes it. Custom plugins that run a command run on the server, so install what they need there: Node.js for npx, uv for uvx.

Running it by hand

For testing on any machine with .NET 8:

dotnet InkBot.Server.dll --Urls=http://127.0.0.1:8740

On first start it prints the access token. Behind your own reverse proxy, forward HTTPS to the server's port, including WebSocket upgrades for /api/events and /computer-view/. A Caddy site block is just:

bots.example.com {
    reverse_proxy 127.0.0.1:8740
}