Skip to main content

Configuration

Everything is set with flags on priompt serve, and most flags have an environment-variable twin. Where both are given, the flag wins.

Environment variables

VariableUsed byPurpose
PRIOMPT_URLCLI, Python, Nodepriompt://<token>@host:port: one string for both address and credential
PRIOMPT_TOKENserver, CLIs, web UIadmin write token (server) or credential (clients)
PRIOMPT_SEEDserverfalse turns off the demo prompt seeded on first start
PRIOMPT_EMBED_URLserver, put, promptctlOpenAI-compatible /v1/embeddings endpoint
PRIOMPT_EMBED_MODELserver, put, promptctlembedding model name
PRIOMPT_EMBED_KEYserver, put, promptctlAPI key for the embeddings endpoint
PRIOMPT_REDIS_URLserverRedis URL for a shared L2 cache
PRIOMPT_JWKS_URLserverpriompt-auth /jwks URL. When set, the server accepts its JWTs.
PRIOMPT_ENCRYPTION_KEYserver, put, backup, …base64 of 32 bytes. Turns on AES-256-GCM at rest.
PRIOMPT_NATS_TOKENservercredential required of NATS clients
PRIOMPT_NATS_URLpriompt watchbroker URL to subscribe to
PRIOMPT_NATS_ROUTESservercomma-separated cluster peers
PRIOMPT_NATS_CLUSTER_ADDRservercluster route listen address
PRIOMPT_NATS_CLUSTER_SECRETservershared secret for cluster peers
PRIOMPT_GIT_TOKENpromptctltoken for HTTPS git remotes
PRIOMPT_ADDRweb UIserver address (default localhost:8443)

PRIOMPT_URL precedence

An explicit host or -addr wins over the URL's host. An explicit PRIOMPT_TOKEN or token= wins over the URL's token. A value with no scheme is treated as a bare host.

serve flags

FlagDefaultPurpose
-addr:8443gRPC listen address
-dbpriompt.dbSQLite file path, or a postgres:// DSN
-tls-cert / -tls-keyturn on TLS
-client-caverify client certificates (mTLS). Requires TLS.
-tokens-filestatic tokens: token [org] [expiry] [rw] lines
-auth-jwks-url$PRIOMPT_JWKS_URLtrust priompt-auth JWTs
-cache-ttl30sL2 server cache TTL. 0 turns it off.
-redis-url$PRIOMPT_REDIS_URLshared L2 cache
-embed-url / -embed-model$PRIOMPT_EMBED_*embedding endpoint for the semantic diff
-nats-addr127.0.0.1:4222embedded NATS. An empty value turns pub/sub off.
-nats-token$PRIOMPT_NATS_TOKENrequired when -nats-addr isn't loopback
-nats-cluster-addr / -nats-routes / -nats-cluster-secretmulti-node NATS clustering
-metrics-addr:2112Prometheus /metrics. An empty value turns it off.
-rate-limit0per-org requests/second. 0 turns it off.
-rate-burst0per-org burst. 0 means the same as -rate-limit.
-seedtrueseed a demo prompt if it's absent

A production example

priompt serve \
-addr :8443 \
-db postgres://priompt:$PGPASS@db:5432/prompts \
-redis-url redis://cache:6379/0 \
-tls-cert /etc/priompt/server.crt -tls-key /etc/priompt/server.key \
-tokens-file /etc/priompt/tokens.txt \
-auth-jwks-url http://auth:8444/jwks \
-embed-url http://tei/v1/embeddings -embed-model BAAI/bge-small-en-v1.5 \
-nats-addr 0.0.0.0:4222 -nats-token $PRIOMPT_NATS_TOKEN \
-metrics-addr 127.0.0.1:2112 \
-rate-limit 50 -rate-burst 100 \
-seed=false