Skip to main content
This guide gets you from zero to a working tuliprox setup using Docker. By the end you will have tuliprox running, connected to an IPTV provider, and serving a playlist you can open in Plex, Jellyfin, Emby or any IPTV player.
1

Create the directory layout

Create directories for your tuliprox installation:
2

Create docker-compose.yml

Create /home/tuliprox/docker-compose.yml:
docker-compose.yml
Adjust TZ to your timezone and update the volume paths if you chose different directories.
3

Create config.yml

Create /home/tuliprox/config/config.yml:
config/config.yml
Set update_on_boot: false while testing to avoid immediately downloading from your provider. Enable it once everything looks correct.
4

Create source.yml

Create /home/tuliprox/config/source.yml with your provider details.
config/source.yml
Replace the URL, username and password with your actual provider credentials.
5

Create api-proxy.yml

Create /home/tuliprox/config/api-proxy.yml to define which users can connect to tuliprox:
config/api-proxy.yml
Replace 192.168.1.41 with the LAN IP address of the machine running tuliprox. This is the address your media clients will use.
6

Start tuliprox

Open http://localhost:8901 in your browser. The Web UI should load. Go to Settings to verify your configuration was loaded correctly.
Check the logs if tuliprox does not start: docker compose logs -f tuliprox
7

Connect your media client

Once tuliprox is running and the playlist has been fetched from your provider, connect your media client using one of these URL formats.
Use these credentials in any Xtream Codes-compatible player:
  • Server: http://192.168.1.41:8901
  • Username: myuser
  • Password: mypassword

Good first milestone

1

Add one working input

Confirm tuliprox can download your provider’s playlist without errors.
2

Create one target

Set up a single target and verify the playlist output looks correct.
3

Confirm a stream works

Open one stream in VLC or your media player to confirm end-to-end streaming.
4

Add filtering and mapping

Once the basics work, add filters to remove unwanted channels, then add mapping rules to rename entries.
5

Enable the reverse proxy

Configure the reverse proxy mode to get user limits, stream sharing and fallback videos.
Keep failures local. Add one feature at a time and verify it works before moving on. This makes provider-specific issues much easier to diagnose.

What’s next

Getting started

Learn about run modes, all CLI arguments and the project layout.

Configuration reference

Explore all configuration options for config.yml, source.yml and api-proxy.yml.

Filtering and mapping

Write filter expressions and mapping rules to shape your playlist.

Streaming and proxy

Configure reverse proxy mode for user limits and stream sharing.