config.yml controls the application runtime, storage, reverse proxy behavior, and optional subsystems. Relative paths are resolved against the Tuliprox home directory.
Top-level fields
Core runtime
api
Configures the embedded HTTP server.
web_root is resolved relative to the Tuliprox home directory when it is not an absolute path.
storage_dir
Storage location for persisted playlists, databases, and metadata.
process_parallel
Enable parallel processing on multi-core systems. Be aware that multiple worker threads can also consume multiple provider connections simultaneously during updates.
mapping_path and template_path
Tuliprox loads mappings and templates from a single file or an entire directory.
- If a path points to a directory, all
*.ymlfiles are loaded in alphanumeric order and merged. - Template names must remain globally unique.
- Defaults:
mapping.ymlandtemplate.ymlin the home directory.
Provider failover and rotation
Tuliprox supports provider failover and DNS-aware rotation. Providers can expose multiple URLs, and Tuliprox rotates to the next candidate on supported failure conditions.provider:// scheme
Configurations can reference providers via provider://<provider_name>/.... Tuliprox resolves that to the current active provider URL or resolved IP.
Automatic failover triggers
Failover is triggered for the following HTTP status codes:proxy — provider DNS block
Each provider entry can include a dns block:
Resolved IPs are persisted in
provider_dns_resolved.json under storage_dir.
messaging
Optional notification system supporting Telegram, Discord, Pushover, and REST webhooks.
notify_on events
Templates can be raw strings or
file:// / http(s):// URIs. Handlebars variables available in templates: message, kind, timestamp, stats, watch, processing.
Telegram
Telegram
Discord
Discord
Pushover
Pushover
REST webhook
REST webhook
video
Optional video-related behavior for the Web UI.
metadata_update
Controls how Tuliprox resolves metadata, probes streams, queries TMDB, and invokes FFprobe.
Top-level fields
Top-level fields
log sub-section
log sub-section
resolve sub-section
resolve sub-section
probe sub-section
probe sub-section
tmdb sub-section
tmdb sub-section
ffprobe sub-section
ffprobe sub-section
Duration fields accept
s, m, h, d suffixes or plain seconds. Size fields accept B, KB, MB, GB, TB or plain bytes.schedules
See the Scheduled tasks page for the full reference.
Quick example:
reverse_proxy
This block controls stream delivery, buffering, caching, header forwarding, rate limiting, and resource retries. See the Streaming and Proxy page for the full reference.
The
reverse_proxy block is covered in detail on the Streaming and Proxy page under Core Features.backup_dir
Location for configuration backups written from the Web UI.
update_on_boot
If true, Tuliprox starts a playlist update automatically when the application launches.
log
log_level accepts a plain level (debug, info, warn, error) or a comma-separated module filter:
web_ui
auth sub-section
The
userfile format is one username:password_hash entry per line. Generate password hashes with:
Access control and stream fallback
user_access_control
When enabled, Tuliprox evaluates each user’s status, exp_date, and max_connections on every stream request.
connect_timeout_secs
Defines the connect-phase timeout for provider requests. Set to 0 to disable the timeout.
custom_stream_response_path
Directory containing fallback transport streams served to clients when a stream cannot be delivered.
custom_stream_response_timeout_secs caps the playback duration of those fallback streams.
Other optional sections
user_config_dir
user_config_dir
Storage location for user-specific configuration such as bouquets.
hdhomerun
hdhomerun
Enables HDHomeRun device emulation for integration with Plex, Jellyfin, Emby, and TVHeadend. Supports multiple virtual devices, optional lineup authentication, and SSDP plus SiliconDust discovery.
proxy
proxy
Global outgoing proxy for all upstream provider requests. Supported schemes:
http, https, socks5.ipcheck
ipcheck
Defines endpoints and optional regexes for public IP detection.
config_hot_reload
config_hot_reload
When enabled, Tuliprox watches mapping files and
api-proxy.yml and reloads them automatically when changes are detected — no restart required.library
library
Enables local media library integration with recursive directory scanning, movie vs. series classification, NFO reading and writing, TMDB enrichment, incremental scans, and stable virtual IDs.