Latest version: v1.2.0d
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.
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.
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.
.dmg
, then drag the app to your Applications folder.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.
chmod +x snappierServer-0.8.0-‹arch›.AppImage
./snappierServer-0.8.0-‹arch›.AppImage
🔧 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.
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.
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
:
sudo apt install dunst
sudo apt install xfce4-notifyd
sudo dnf install dunst
sudo dnf install xfce4-notifyd
sudo pacman -S dunst
sudo pacman -S xfce4-notifyd
After installation, ensure the daemon is started or enabled in your session (e.g., by adding dunst &
to your autostart script).
chmod +x snappier-server-cli-‹platform›-‹arch›
./snappier-server-cli-‹platform›-‹arch›
PORT
environment variable before launching the server.http://localhost:8000
You can configure the server by setting the following environment variables before launch:
PORT
8000
).ENABLE_REMUX
true
to convert .ts
files to .mkv
format automatically.RECORDINGS_FOLDER
MOVIES_FOLDER
SERIES_FOLDER
DOWNLOAD_SPEED_LIMIT_MBS
0
to disable limit.USE_CURL_TO_DOWNLOAD
true
to force using Curl for all downloads (movies/series) instead of FFmpeg.ENABLE_EPG
true
to enable EPG (Electronic Program Guide) support.EPG_URL
http://example.com/epg.xml
).EPG_URLS
[{"url":"http://source1.com/epg.xml","name":"Main","priority":1}]
).EPG_REFRESH_INTERVAL
24
).The CLI binary also supports command-line arguments for easier configuration. Use --help
to see all available options:
./snappier-server-cli --help
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
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
If you prefer environment variables over command-line arguments, here's how to set them on each platform:
set PORT=9000
set ENABLE_REMUX=true
set ENABLE_EPG=true
set EPG_URL=http://example.com/epg.xml
snappier-server-cli.exe
$env:PORT = "9000"
$env:ENABLE_REMUX = "true"
$env:ENABLE_EPG = "true"
$env:EPG_URL = "http://example.com/epg.xml"
.\snappier-server-cli.exe
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
.
config.json
under your user‐data folder (%APPDATA%
on Windows, ~/Library/Application Support/…
on macOS, ~/.config/…
on Linux).ipconfig
. Look for the "IPv4 Address" under your active network adapter.ipconfig getifaddr en0
(or en1
depending on your network). Alternatively, go to System Settings → Network → select your network → look for “IP address”.hostname -I
or ip a
. Look for your active interface’s IP address (e.g., eth0 or wlan0).© 2025 SnappierServer — Source & Updates