Configuration & Prefs
Client preferences, project config, and environment variables.
This page documents client and server configuration inputs.
Yeet stores preferences in:
~/.yeet/prefs.json
Schema:
{
"defaultHost": "<host>"
}
defaultHost is the catch host (Tailscale/tsnet hostname used for RPC) that
yeet uses when no host is specified via @<host>, --host, or yeet.toml.
See Tailscale for details.
Commands:
yeet prefs
yeet prefs --save
When you run yeet from a project directory it can persist service defaults in a
yeet.toml file. This is a convenience layer for the CLI (payloads + flags) and
is not a mirror of catch internals.
Example:
version = 1
hosts = ["yeet-hetz", "host-b"]
[[services]]
name = "uptime-kuma"
host = "yeet-hetz"
payload = "./uptime-kuma/compose.yml"
args = ["--net=lan"]
[[services]]
name = "api"
host = "host-b"
payload = "./bin/api"
args = ["--flagA", "valueA"]
[[services]]
name = "owesplit"
host = "yeet-pve1"
type = "cron"
payload = "./owesplit/owesplit"
schedule = "0 9 15 * *"
args = ["-live"]
Notes:
payloadis stored relative to theyeet.tomldirectory when possible.typeis optional; omit it (or setrun) foryeet run, and setcronforyeet cron.argsstores run flags followed by payload args, with the--separator removed. Yeet re-inserts--when needed to re-run the service (for cron this is just the binary args after--).scheduleis the 5-field cron expression fortype = "cron".hostsis used for host-scoped commands likeyeet statuswith no args.
Client:
CATCH_HOST: default target catch host (Tailscale/tsnet hostname). See Tailscale.
Server:
- None documented yet.
yeet edit uses $EDITOR if set, otherwise vim.