Skip to main content
Repoch uses a layered configuration system with multiple sources.

Configuration Priority

Settings are resolved in order (highest priority wins):
1

CLI Overrides

Direct flags like --port 8080 or --redis.backend external
2

Config File

TOML file specified via --config path/to/file.toml
3

Environment Variables

Variables prefixed with REPOCH__ (e.g., REPOCH__PORT=9000)
4

Cached Config

Previously saved configuration via --save flag
5

Defaults

Built-in sensible defaults for local development

View Settings

# Server settings
repoch --server-settings

# Client settings
repoch --client-settings

Config File Format

# config.toml
[server]
bind_host = "0.0.0.0"
port = 8000

[database]
path = "repoch_data/database.db"

[redis]
backend = "external"
host = "localhost"
port = 6379

[storage]
path = "repoch_data/data_storage"

[executor]
backend = "celery"

[auth]
enabled = false

[logging]
level = "INFO"

Environment Variables

Environment variables use double underscore for nesting:
export REPOCH__PORT=9000
export REPOCH__REDIS__BACKEND=external
export REPOCH__REDIS__HOST=redis.local

Caching Configuration

Save your resolved configuration for future sessions:
repoch server --config prod.toml --port 9000 --save
Next time, load from cache:
repoch server --cache
Clear cached settings:
repoch clear server

Next Steps

CLI Reference

Full command-line reference