Repository navigation
v1.5.0 — Multi-arch, VPN overlay, host-FFmpeg overlay
First release that ships multi-arch images (linux/amd64 + linux/arm64)
plus two new optional overlays: gluetun VPN and host-FFmpeg. Upstream Snappier
CLI bumped from 1.3.4b → 1.5.0.
Upgrade
git pull
docker compose pull
docker compose up -dVisit http://localhost:7429.
What's new in Snappier Server itself (upstream)
Snappier Server 1.5.0 (vs 1.3.4) adds:
- Web dashboard. A browser UI served directly by Snappier — no external
client needed. Includes System Overview, active-jobs tracking, and an
interactive TV Guide (EPG grid) for scheduling recordings. - HLS live playback. Built-in HLS transcoding so channels play in any
browser. This Docker image includes a wrapper that optimises the stream on
the fly: H.264 sources remux with-c copy(near-zero CPU), higher-codec
sources transcode withultrafastand downscale only if needed. - API token authentication. Snappier auto-generates a token on first
launch (data/config.json). Pass it as theX-API-Tokenheader to hit any
API endpoint. Visible indocker logs snappier-serveron startup.
Full feature details: https://snappierserver.app
What's new in this Docker image
Multi-arch
Previous releases were amd64 only. v1.5.0 publishes for both linux/amd64 and
linux/arm64 in the same manifest, so Docker picks the right one automatically
whether you're on Intel/AMD, Raspberry Pi 4/5, AWS Graviton, Apple Silicon, or
anywhere else.
Published tags:
| Tag | What it tracks |
|---|---|
:1.5.0 |
This exact release (pin for prod) |
:1.5 |
Latest patch in the 1.5 line |
:latest |
Latest tagged release |
VPN (gluetun) overlay — NEW
Previous versions had no VPN support. v1.5.0 ships an optional overlay that
routes all Snappier traffic through gluetun,
supporting 40+ providers out of the box (NordVPN, Mullvad, ProtonVPN, PIA,
Surfshark, AirVPN, and more).
docker compose -f docker-compose.yml -f docker-compose.vpn.yml up -dEvery variable in .env passes through to the gluetun container, so any
gluetun knob works without editing the compose file. Provider-specific vars
are in the gluetun wiki.
Host-FFmpeg overlay — NEW
Optional overlay (docker-compose.host-ffmpeg.yml) that swaps the built-in
FFmpeg for the host's. Useful if you want hardware acceleration (NVENC /
QuickSync) or a vendor-patched FFmpeg. Linux x86-64 only.
docker compose -f docker-compose.yml -f docker-compose.host-ffmpeg.yml up -dMost users should stick with the built-in FFmpeg — it's fully featured and
works on both arches.
FFmpeg stays current
The image still builds FFmpeg from source, but every release now ships with
the latest upstream stable FFmpeg (currently 8.1) — no more stale cached
binaries.
Portable volume paths
The base compose used to hardcode /data/recordings/snappier-server/.... It
now uses ${DATA_DIR:-./data}/..., defaulting to a data/ folder next to
docker-compose.yml. First-run users don't need to edit any paths.
Timezone no longer hardcoded
Previous images baked in TZ=America/New_York. It's now read from your .env
and defaults to UTC — set your own zone for local timestamps.
example.env fully rewritten
Every variable documented inline, provider-agnostic VPN section, nothing
required to boot.
End-user-focused README
Rewritten to lead with docker compose pull, with advanced topics folded into
collapsible <details> blocks.
Breaking changes / upgrade notes
1. Volume paths changed
The base compose file used to hardcode /data/recordings/snappier-server/....
It now uses ${DATA_DIR:-./data}/....
If you want to keep your existing recordings in place, add this to .env:
DATA_DIR=/data/recordings/snappier-serverOtherwise new data will land in ./data/ beside docker-compose.yml.
2. Timezone is no longer forced
If you relied on the implicit America/New_York default, set it explicitly:
TZ=America/New_YorkUnset TZ now defaults to UTC.
3. schedules.json and server.log volume mounts consolidated
The old base compose mounted those two paths individually. They're now covered
by the broader Recordings/ and logs/ directory mounts. No action needed
for most users.
Removed
Dockerfile.minimal,docker-compose.minimal.yml,README-MINIMAL.md— the
minimal variant is retired. The unified setup covers everything now.scripts/https_watcher.py— superseded by the health watcher.
Known limitations
docker-compose.host-ffmpeg.ymlis x86-64 only. The host-ffmpeg shim
hardcodesld-linux-x86-64.so.2because it has to use the host's dynamic
linker to bypass glibc mismatches. ARM hosts just use the built-in FFmpeg.- Remote access requires a reverse proxy. Ports are bound to
127.0.0.1
by default. See the README for setup tips.
Under the hood
- Upstream Snappier CLI v1.5.0 (from 1.3.4b)
- FFmpeg 8.1
- Base image: Ubuntu 25.04