Snappier Logo

Snappier Server

Latest version: v1.2.6

Install & Run Guide

This page covers how to download, install, and run Snappier Server in both GUI (Electron) and CLI‐only modes on Windows, macOS, and Linux, for both x86_64 and ARM64 architectures.

What is Snappier Server?

Snappier Server is a lightweight yet powerful service designed to run seamlessly on your machine 24/7 ideally - otherwise you may miss recordings. Built exclusively for the Snappier IPTV App, it acts as the brain behind all your media recording and downloading needs.

With the Snappier IPTV App, users can effortlessly schedule live TV recordings, save CatchupTV, and download movies or entire TV series from their IPTV provider. Movies can also be scheduled to download at a specific future date and time. Snappier Server takes care of these requests in the background—quietly, efficiently, and reliably.

Note: Each active recording or download uses one connection to your IPTV service. If your subscription only allows a single connection, you won’t be able to watch live TV or start another recording at the same time. However, once a recording has started, you can begin watching it from the server even while it’s still in progress—this does not use up a connection

By default, all your media is saved to the Current Working Directory (CWD) + snappierServer/ folder, but you're free to specify a custom location for folders to organize your recordings and downloads your way. The downloaded content is fully compatible with the Snappier IPTV app and can also be played in any media player that supports the formats.

Note: Live TV and CatchupTV recordings are saved in the .ts (MPEG Transport Stream) format. While widely compatible, this format may not work with certain players—such as Infuse. However, if you enable remuxing the .ts file will be converted to .mkv format making it more compatible.

Once a recording or download begins through the Snappier IPTV App, Snappier itself can be closed. Snappier Server continues the task independently, ensuring everything completes smoothly—even while you're away.

Need help? Join our friendly community on Discord! You’ll find the invite link directly in the Snappier IPTV app.

Notice: Snappier Server is currently a beta feature of the Snappier IPTV App. While it's designed to work for most users, it may not be compatible with all systems or network setups. Installation is the responsibility of the user, and while we may not be able to assist with every individual setup, we’ll always try our best to help in the Discord server if possible. We welcome feedback as we continue to improve it.


1. GUI App (Tray)

The GUI App provides a system‐tray icon and Preferences window with full EPG (Electronic Program Guide) configuration support. Through the Preferences window, you can easily:

Pick the right package for your OS and CPU:

⚠️ If you're installing on a computer with a graphical user interface (GUI) — such as Windows, macOS, or Linux — the GUI app is recommended. For headless systems (without a GUI), please use the CLI-only binary provided in Section 2 below.

Windows

Installation & Run

  1. Download the archive, then right-click it and choose "Extract All..." to unzip the contents.
  2. Double-click it to launch the Tray app.
  3. Look for the Snappier Server tray icon in the bottom-right corner of the taskbar (system tray area near the clock). Click it to open the Preferences window.
  4. Configure EPG (Optional): In the Preferences window, you'll find an EPG Settings section where you can:
    • Enable EPG support
    • Add one or multiple EPG sources with custom names and priorities
    • Set the refresh interval for automatic updates
    • Generate Xtream Codes EPG URLs if needed
  5. Connect the App: In the Snappier IPTV app, go to Settings → Snappier Server and enter the IP address and port number of the machine running Snappier Server (e.g., 192.168.1.100 and 8000). Do not include http:// or https://

macOS

Installation & Run

  1. Download and open the .dmg, then drag the app to your Applications folder.
  2. Launch "SnappierServer" from Launchpad or Finder — the tray icon will appear.
  3. Look for the Snappier Server icon in the top-right menu bar (near the clock). Click it to open the Preferences window.
  4. Configure EPG (Optional): In the Preferences window, you'll find an EPG Settings section where you can:
    • Enable EPG support
    • Add one or multiple EPG sources with custom names and priorities
    • Set the refresh interval for automatic updates
    • Generate Xtream Codes EPG URLs if needed
  5. Connect the App: In the Snappier IPTV app, go to Settings → Snappier Server and enter the IP address and port number of the machine running Snappier Server (e.g., 192.168.1.100 and 8000). Do not include http:// or https://

Linux

Installation & Run

Prerequisite: FFmpeg

To enable recording, remuxing (and optionally downloading movies/series via FFmpeg), install FFmpeg on your system:


# Debian/Ubuntu:
sudo apt update && sudo apt install ffmpeg

# Fedora/RHEL:
sudo dnf install ffmpeg

# Arch Linux:
sudo pacman -S ffmpeg
  

Note: For desktop notifications to work on Linux, a notification daemon must be installed and running. This applies to both the GUI and CLI versions of Snappier Server. Examples include dunst, xfce4-notifyd, and notify-osd. If no notification daemon is active, you won’t see toast messages when downloads or recordings begin/end.

  1. Make the AppImage executable:
    chmod +x snappierServer-0.8.0-‹arch›.AppImage
  2. Launch the tray app:
    ./snappierServer-0.8.0-‹arch›.AppImage
  3. Look for the Snappier Server icon in your system tray or panel, depending on your desktop environment (e.g., GNOME, KDE). Click it to access Preferences.
  4. Configure EPG (Optional): In the Preferences window, you'll find an EPG Settings section where you can:
    • Enable EPG support
    • Add one or multiple EPG sources with custom names and priorities
    • Set the refresh interval for automatic updates
    • Generate Xtream Codes EPG URLs if needed
  5. Connect the App: In the Snappier IPTV app, go to Settings → Snappier Server and enter the IP address and port number of the machine running Snappier Server (e.g., 192.168.1.100 and 8000). Do not include http:// or https://

2. CLI-Only Binary

🔧 This CLI‐Only Binary is designed for headless/server environments without any GUI.

The CLI package is a single native executable (no GUI), suitable for servers or Docker. It listens on port 8000 by default.

Download

Running with Docker

If you prefer to use Docker, we recommend following the Docker setup created by RyDizz214. You can find the full instructions and Dockerfile on GitHub:

Snappier Server Docker – View on GitHub

This option provides a containerized environment to run the Snappier Server using Docker, with examples on how to build and run the container.

Prerequisite: FFmpeg

Ensure FFmpeg is installed for full recording, remuxing, and optional movie/series downloading support:


# Debian/Ubuntu:
sudo apt update && sudo apt install ffmpeg

# Fedora/RHEL:
sudo dnf install ffmpeg

# Arch Linux:
sudo pacman -S ffmpeg

Note: If you're running the CLI version in a desktop environment and want notifications, install and activate a Linux notification daemon such as dunst or xfce4-notifyd:

After installation, ensure the daemon is started or enabled in your session (e.g., by adding dunst & to your autostart script).

Installation & Run

  1. Place the binary in a directory on your PATH, or run it directly:
  2. chmod +x snappier-server-cli-‹platform›-‹arch›
    ./snappier-server-cli-‹platform›-‹arch›
  3. To change the default listening port (8000), set the PORT environment variable before launching the server.
    See the section below titled How to Set Environment Variables for step-by-step instructions.
  4. All API endpoints (schedules, recordings, movies, series) are available at:
    http://localhost:8000
  5. Connect the App: In the Snappier IPTV app, go to Settings → Snappier Server and enter the IP address and port number of the machine running Snappier Server (e.g., 192.168.1.100 and 8000). Do not include http:// or https://

Environment Variables

You can configure the server by setting the following environment variables before launch:

Command-Line Arguments (Alternative to Environment Variables)

The CLI binary also supports command-line arguments for easier configuration. Use --help to see all available options:

./snappier-server-cli --help
EPG Configuration Examples

Single EPG Source:

# Basic EPG setup
./snappier-server-cli --enable-epg --epg-url "http://example.com/epg.xml"

# With custom port and refresh interval
./snappier-server-cli --port 8080 --enable-epg \
  --epg-url "http://provider.com/epg.xml" \
  --epg-interval 12

Multiple EPG Sources:

# Multiple sources with priority (lower number = higher priority)
./snappier-server-cli --enable-epg --epg-urls '[
  {"url":"http://primary.com/epg.xml","name":"Primary","priority":1,"enabled":true},
  {"url":"http://backup.com/epg.xml","name":"Backup","priority":2,"enabled":true}
]'

Complete Configuration Example:

./snappier-server-cli \
  --port 8080 \
  --enable-epg \
  --epg-url "http://provider.com/epg.xml" \
  --epg-interval 24 \
  --enable-remux \
  --recordings ~/Recordings \
  --movies ~/Movies \
  --series ~/TVShows
Verifying EPG Status

Once running with EPG enabled, check the status using curl:

# Check EPG status
curl http://localhost:8000/epg/status

# View channels
curl http://localhost:8000/epg/channels

# Force EPG refresh
curl -X POST http://localhost:8000/epg/refresh

How to Set Environment Variables

If you prefer environment variables over command-line arguments, here's how to set them on each platform:

Windows (Command Prompt)
set PORT=9000
set ENABLE_REMUX=true
set ENABLE_EPG=true
set EPG_URL=http://example.com/epg.xml
snappier-server-cli.exe
Windows (PowerShell)
$env:PORT = "9000"
$env:ENABLE_REMUX = "true"
$env:ENABLE_EPG = "true"
$env:EPG_URL = "http://example.com/epg.xml"
.\snappier-server-cli.exe
macOS / Linux (Bash/Zsh)
export PORT=9000
export ENABLE_REMUX=true
export ENABLE_EPG=true
export EPG_URL="http://example.com/epg.xml"
./snappier-server-cli

To make variables permanent on macOS/Linux, add them to your shell's startup file, like ~/.bashrc or ~/.zshrc.


3. Common Notes


Understanding and Using the EPG Feature

What is EPG?

EPG stands for Electronic Program Guide. It's like a TV guide that shows you what's currently playing and what's coming up next on your IPTV channels. With EPG enabled, you can see program titles, descriptions, air times, and more—making it much easier to find and schedule recordings of your favorite shows.

Why Use EPG?

How to Get Your EPG URL

Your EPG data comes from your IPTV provider. There are two common ways to get your EPG URL:

Method 1: From Your IPTV Provider

Most IPTV providers offer an EPG URL (also called XMLTV URL). This is usually provided when you sign up for service. Check:

The URL typically looks like: http://provider.com/xmltv.php?username=yourname&password=yourpass

Method 2: Xtream Codes Format (Most Common)

If your IPTV service uses Xtream Codes (most do), you can generate the EPG URL yourself using this format:

http://your-server:port/xmltv.php?username=USERNAME&password=PASSWORD

Example: If your IPTV login details are:

Your EPG URL would be:

http://iptv.example.com:8080/xmltv.php?username=johndoe&password=secretpass123

Setting Up EPG (GUI App)

If you're using the GUI (Tray) app, setting up EPG is simple:

  1. Open Preferences: Click the Snappier Server tray icon and select "Preferences"
  2. Navigate to EPG Settings: You'll find the EPG section in the Preferences window
  3. Enable EPG: Check the "Enable EPG" checkbox
  4. Add Your EPG Source:
  5. Set Refresh Interval: Choose how often to update the guide (24 hours is recommended)
  6. Save: Click Save or Apply to activate EPG

Advanced: You can add multiple EPG sources. If you have backup providers or different EPG feeds, add them with different priorities. The server will merge data from all sources, with lower priority numbers taking precedence when there are conflicts.

Setting Up EPG (CLI Binary)

If you're using the CLI-only binary, you have two options:

Option A: Command-Line Arguments (Easiest)

When you start the server, add EPG parameters:

# Basic single EPG source
./snappier-server-cli --enable-epg --epg-url "http://iptv.example.com:8080/xmltv.php?username=johndoe&password=secretpass123"

# With custom refresh interval (12 hours instead of default 24)
./snappier-server-cli --enable-epg --epg-url "http://provider.com/epg.xml" --epg-interval 12

# Multiple EPG sources with priorities
./snappier-server-cli --enable-epg --epg-urls '[
  {"url":"http://primary.com/epg.xml","name":"Primary","priority":1,"enabled":true},
  {"url":"http://backup.com/epg.xml","name":"Backup","priority":2,"enabled":true}
]'

Option B: Environment Variables

Set environment variables before launching:

Windows (Command Prompt):

set ENABLE_EPG=true
set EPG_URL=http://iptv.example.com:8080/xmltv.php?username=johndoe&password=secretpass123
set EPG_REFRESH_INTERVAL=24
snappier-server-cli.exe

macOS/Linux (Terminal):

export ENABLE_EPG=true
export EPG_URL="http://iptv.example.com:8080/xmltv.php?username=johndoe&password=secretpass123"
export EPG_REFRESH_INTERVAL=24
./snappier-server-cli

Verifying EPG is Working

After enabling EPG, verify it's working properly:

  1. Check Status: Open your browser or use curl to check:
    http://localhost:8000/epg/status
    You should see information about your EPG sources and when they were last updated.
  2. View Channels: Check that channel data is loading:
    http://localhost:8000/epg/channels
    This shows all channels detected from your EPG.
  3. Check in Snappier App: Open the Snappier IPTV app on your device (phone, tablet, or TV). Make sure you've connected it to your Snappier Server first (see steps below). If EPG is working, you should now see program information when browsing channels and be able to access the TV guide feature.

Connecting Snappier IPTV App to the Server

To use EPG (and all other Snappier Server features) in the Snappier IPTV app, you need to connect the app to your server:

  1. Find Your Server's IP Address: Get the local IP address of the computer running Snappier Server:
  2. Open Snappier IPTV App: Launch the Snappier IPTV app on your phone, tablet, or TV device
  3. Go to Settings: Navigate to Settings (usually a gear icon in the menu)
  4. Find Snappier Server Settings: Look for "Snappier Server" section
  5. Enter Server Details:
  6. Save & Test Connection: Save the settings. The app should test the connection and confirm if it's successful
  7. Verify EPG: Once connected, navigate to your channels. You should see program titles, times, and descriptions if EPG is enabled and working

Troubleshooting Connection:

Troubleshooting EPG

EPG Not Showing Up in the App

EPG Data is Outdated

EPG URL Not Working

EPG Refresh Schedule

By default, EPG data refreshes every 24 hours automatically. You can customize this interval:

Note: Frequent refreshes (every hour) may slow down your server or exceed provider limits. 12-24 hours is typically sufficient since TV schedules don't change that often.


© 2025 SnappierServer — Source & Updates