How to setup your own IPTV Panel for free with Xtream-UI

March 2, 2020

Xtream-UI is a free IPTV Panel, developed after the now defunt Xtream-Codes went down. In this tutorial, I will show you how to create your IPTV, for free, with Xtream-UI. It is free and regularly updated by the admin.

We recommend you to join website and make a donation (at least $5) to have access to the early release. Your donation will keep the project going in the future.

Xtream-UI Panel Features

  • Run on Ubuntun 18.04 64 bit. It may run on other Linux distribution too but I recommend Ubuntu 18.04 only as it is what they test on.
  • Support load balancers (LB) with geo locations.
  • Support multiple categories and bouquets.
  • Support live channels, on demand channels, VOD, TV Series.
  • Support auto post VOD, TV Series with TMDB API.
  • Support resellers/sub-resellers.
  • Support MAG, Enigma devices plus STB Emulator.
  • Support multiple EPGs.
  • Support mass edit chanels, VOD, TV Series.
  • Support mass delete channels, VOD, TV Series, Users.
  • Support create 24/7 channels from VOD, File Browser or TV Series.

Pros and Cons of Xtream-UI


  1. Free and always free as claimed by the developer.
  2. Support all kinds of features and compatible with all devices that you can imagine.
  3. Nice admin page.
  4. Easy to use, user friendly. Also they have active forum to talk (sometimes people just don’t answer you).


  1. Using php and ffmpeg to stream. This consumes lots of resources like CPU and RAM. It also requires mySQL to be installed on Main server.
  2.  Many bugs that inherited from the original Xtream-Codes, as well new bugs created by the developer.
  3. Main sever: at least 32GB of RAM if you do not run channels. LB servers at least 32GB of RAM if 1Gbps port. If 10Gbps port, I recommend 128GB of RAM.

How To Install Xtream-UI

Log into your server SSH via Putty and run commands as follow.

apt-get update ; apt-get install libxslt1-dev libcurl3 libgeoip-dev python -y ; wget ; sudo python

It will ask you which one you want to install: MAIN, LB or ADMIN. First you choose MAIN and install it. It will ask you to enter your MYSQL root password. Enter your own MYSQL root password of your choice and keep it (remember or write it down). Then it will continue to install and at the end of the installation, it will give you the MYSQL password for the user user_iptvpro. Now note down this password too. So you have 2 MYSQL password, 1 is for root (you set it yourself) and 1 is for the user_iptvpro, which is set by the installation script. Please note that it will also ask for port, which is 25461 by default. Please keep all default ports unless you know what you are doing.

Now you need to install the ADMIN. Run the above command again, then choose ADMIN. It will install the admin for you. After a successful installation, you can log in the admin with the following address



username: admin

password: admin

That is it. Now you have your own IPTV Panel setup for free. Go to if you need help. And do not forget to donate for him.