Files
marvin-turnstone/configs/turnstone/config.toml.example
T
marvin 50b215f759 Turnstone container-VM: podman image -> boco qcow2 boot
Arch image with turnstone (venv), dev toolkit, rootless podman; boots
via boco (virtiofs shares, direct UID mapping for nested virtiofs).
sshd ops channel + turnstone-server as guest marvin; state (SQLite db,
config, work) on host shares; LLM via the TensorX OpenAI-compatible
gateway (https://api.tensorx.ai/v1), reachable from the guest through
both slirp layers with no relay.
2026-09-26 14:53:56 +02:00

34 lines
1.1 KiB
TOML

# turnstone config — mounted into the VM at ~/.config/turnstone/config.toml
# Reference: turnstone.example.toml in the upstream repo.
[auth]
# JWT signing secret. Auth is always enabled; generate once:
# python -c 'import secrets; print(secrets.token_hex(32))'
jwt_secret = "CHANGE_ME_JWT_SECRET"
# Models are defined here or via the admin console Models tab.
[models.tensorx]
# TensorX — OpenAI-compatible gateway (same backend this opencode uses).
model = "z-ai/glm-5.3-flash"
provider = "openai"
base_url = "https://api.tensorx.ai/v1"
api_key = "CHANGE_ME_TENSORX_API_KEY"
context_window = 1000000
# Self-hosted provider later? Any OpenAI-compatible endpoint reachable
# from the guest works, e.g. llama.cpp on the LAN:
# [models.local]
# model = "..."
# provider = "openai"
# base_url = "http://<host>:<port>/v1"
# max_concurrency = 1
[database]
# SQLite file on the host-mounted data/ share; survives VM reboots.
# (NOTE: for SQLite this is `path` — `url` is only used by PostgreSQL.)
path = "/var/lib/turnstone/turnstone.db"
[tools]
# Workspace surfaced to the model (mounted from ./work on the host).
workspace_dir = "/home/marvin/work"