Configuration Guide
To improve navigation, configuration docs are now split into an overview plus focused topic pages.
Navigation
- Startup Parameters
- Runtime Keys and API Workflow
- Security Best Practices
- Examples and Hot Reload
- Storage Overview
- Storage Backends
- Storage Selection and Benchmarks
- Storage Operations and Monitoring
Architecture
Shortlinker configuration has two layers:
- Startup config: stored in
config.toml, changes require restart - Runtime config: stored in DB, can be updated at runtime via Admin API/panel
text
config.toml (read at startup)
↓
StaticConfig (startup config, in-memory)
↓
Database (short links + runtime config)
↓
RuntimeConfig (runtime config cache, in-memory)
↓
Business logic (routes/auth/cache/etc)On first startup, runtime defaults are initialized into DB based on built-in definitions; after that, DB values are authoritative.
Configuration Priority
- Database (runtime config):
api.*/routes.*/features.*/click.*/cors.*/analytics.*/utm.*/cache.* - Environment variables (startup overrides):
SL__... config.toml(startup config; e.g.[server]/[database]/[cache]/[logging]/[analytics]/[ipc])- Program defaults
Env vars only affect startup config. Runtime config is not auto-migrated from env vars or
config.toml.