How to Install xTeVe on Synology (Step-by-Step)

For users looking to manage IPTV streams efficiently on their home media server, installing xTeVe on a Synology NAS is a powerful and flexible solution. xTeVe acts as a DVR and M3U proxy server, making it easier to centralize and customize IPTV channel handling for Plex, Emby, Jellyfin, or other media playback platforms. Synology systems, with their versatile DiskStation Manager (DSM) software and Docker support, are excellent candidates for such advanced home media configurations.

TL;DR

If you’re in a hurry, here’s a quick overview: xTeVe can be installed on a Synology NAS using Docker. First, confirm that your NAS supports Docker, then download the xTeVe image, configure the necessary volume paths, network ports, and environment variables, and launch the container. Finally, access the xTeVe interface via a browser to complete your setup and connect it to your preferred media server.

Pre-requisites Before Installation

Before getting started with xTeVe, it’s important to check a few system requirements and gather the necessary resources:

  • Synology NAS with Docker support: Most Synology Plus (+) and XS series models support Docker.
  • DSM installed and updated: Ensures compatibility and security.
  • Admin-level access to your NAS to manage Docker and file permissions.
  • Internet connection to download the xTeVe Docker image.
  • M3U playlist file and optionally an XMLTV EPG (Electronic Program Guide) if you’re integrating with IPTV services.

Step 1: Install Docker from Synology Package Center

  1. Log in to your Synology DSM interface.
  2. Open the Package Center.
  3. Search for Docker and click Install.
  4. Wait until the installation completes.

Once Docker is installed, you’ll have access to container image search and management tools from within the DSM UI.

Step 2: Download the xTeVe Image from Docker Hub

  1. Launch the Docker app on your Synology NAS.
  2. Go to the Registry tab.
  3. Search for xteve, preferably the official or most popular image like alturismo/xteve.
  4. Right-click the image and click Download. Choose the latest tag unless a specific version is required.

Ensure the image is fully downloaded before proceeding to container creation.

Step 3: Create the xTeVe Container

  1. Go to the Image tab in Docker.
  2. Select the downloaded xTeVe image and click Launch.
  3. In the wizard, configure the general settings:
    • Name your container something like xteve
    • Enable auto-restart (under Advanced Settings)
  4. Go to Volume settings and add:
    • /volume1/docker/xteve/config mapped to /home/xteve
  5. Set up Port Settings:
    • Local port: 34400 (or any unused port)
    • Container port: 34400 (default xTeVe port)
Image not found in postmeta

Step 4: Configure Environment Variables

Add the following environment variables (optional but recommended for stability and path definitions):

  • PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  • PUID: Your NAS user ID for read/write permissions
  • PGID: Your NAS group ID

To find your PUID and PGID, SSH into your Synology and type:
id username

Step 5: Launch the xTeVe Container

  1. Click Apply to launch the container.
  2. Once running, open a web browser and go to:
    http://[YourNASIP]:34400

You should see the xTeVe user interface where you can start setting it up.

Step 6: Initial xTeVe Configuration

Upon first launch, xTeVe will guide you through a few steps:

  1. Select language and storage folder location.
  2. Upload your M3U playlist.
  3. Add your XMLTV EPG URL or file, if available.
  4. Map your channels to XMLTV guide data.
Image not found in postmeta

The resulting virtual tuner can now be added to media servers like Plex by using the generated xmltv.xml and the xTeVe streaming proxy URL.

Step 7: Add xTeVe to Plex or Jellyfin

For Plex:

  1. Open Plex Web Client.
  2. Go to Live TV & DVR settings.
  3. Select Set up Plex DVR, and use the xTeVe tuner URL (e.g., http://[YourNASIP]:34400/devices.xml).
  4. Follow the guide to download EPG from xTeVe and scan channels.

For Jellyfin or Emby, use similar procedures in their respective Live TV settings to add xTeVe as an HDHomeRun-compatible tuner.

Step 8: Backup & Maintenance

  • Regularly backup the xTeVe config directory (/volume1/docker/xteve/config).
  • Keep your Docker image and playlists up to date.
  • Secure your NAS with SSL or VPN if accessing remotely.

FAQ

  • Q: Does xTeVe work with all IPTV providers?
    A: xTeVe works with most M3U-based IPTV playlists. Compatibility may vary for encrypted streams or custom formats.
  • Q: What is the default login for xTeVe?
    A: No default login is required unless you manually enable authentication in the settings later. By default, anyone on the local network can access it.
  • Q: Can xTeVe run without Docker?
    A: Yes, xTeVe has native binaries for several platforms, but Docker is preferred on Synology for simplicity and isolation.
  • Q: Why is Plex not detecting xTeVe?
    A: Ensure the port 34400 is open and xTeVe is running. Confirm that your NAS IP is accessible by the Plex server.
  • Q: Can I use multiple IPTV sources in xTeVe?
    A: Yes, xTeVe supports playlist merging and channel filtering to present a unified line-up.

With this guide, users can confidently set up xTeVe on their Synology NAS and enjoy seamless IPTV streaming across their home network. Whether integrating with Plex or another platform, xTeVe offers immense flexibility and control when handling digital TV over the internet.