Deploy, manage, and update ErsatzTV with a single command.
ErsatzTV-Linux-Automation is a full automation toolkit for installing, managing, and updating ErsatzTV on Linux systems.
It provides a one-command installer, hardened updater, and complete systemd integration to make ErsatzTV deployment truly hands-free.
- ⚙️ One-Command Installer – Installs ErsatzTV directly from the latest GitHub release.
- 👤 Dedicated System User – Runs safely under its own
ersatztvaccount. - 📂 Persistent Data Folder – Stores all settings and database files in
/home/ersatztv/.local/share/ersatztv. - 🧠 Architecture Detection – Automatically installs the correct
x64orARM64binary. - 🔁 Hardened Updater – Includes rollback protection, graceful shutdown, and lock-file safety.
- 🔒 Data-Safe Updates – Leaves your database and configuration untouched during upgrades.
- 🚀 Systemd Integration – Creates and enables the service automatically for seamless boot startup.
- 🧱 Fedora/RHEL Compatibility – Detects Fedora or RHEL systems, installs required packages (
curl,tar,git), and automatically adjusts SELinux file contexts. - 💠 Ubuntu/Debian Compatibility – Works seamlessly with Debian-based distributions using built-in
apt, and supports systems with or withoutufw. - 🔥 Automatic Firewall Configuration – Opens port
8409/tcpduring installation and removes it on uninstall for bothfirewalldandufwsystems.
To install ErsatzTV automatically on any supported Linux system, run:
curl -sSL https://raw.githubusercontent.com/thehack904/ErsatzTV-Linux-Automation/main/install_linux_ersatztv.sh | sudo bash -s installManual Download / Execute:
wget https://raw.githubusercontent.com/thehack904/ErsatzTV-Linux-Automation/main/install_linux_ersatztv.sh
sudo bash install_linux_ersatztv.sh installWhen complete:
- ErsatzTV will be installed to
/opt/ersatztv - Downloads latest ErsatzTV compatible FFmpeg
- It will run as the
ersatztvuser - Automatically configures firewall (if active)
- Web interface available at: http://:8409
Optional (add RetroIPTVGuide):
curl -sSL https://raw.githubusercontent.com/thehack904/ErsatzTV-Linux-Automation/main/install_linux_ersatztv.sh | sudo bash -s install --retroiptvguideWhen complete:
- RetroIPTVGuide will be installed
Run the included updater script anytime:
(One-Liner)
curl -sSL https://raw.githubusercontent.com/thehack904/ErsatzTV-Linux-Automation/main/install_linux_ersatztv.sh | sudo bash -s updateManual
sudo update_linux_ersatztv.shUpdater Features
- Gracefully stops the systemd service
- Disables auto-restart during update
- Detects and installs the correct latest build
- Automatically restarts and verifies the web interface
- Rolls back automatically if an update fails
Run the included updater script anytime:
This will remove binaries and service but ask if you want to keep /home/ersatztv which has the current settings and database if you want a new install at a later date.
Partial Uninstall (Save user data/configs)
sudo install_linux_ersatztv.sh uninstallFull Uninstall (Nothing Saved)
One-Liner
curl -sSL https://raw.githubusercontent.com/thehack904/ErsatzTV-Linux-Automation/main/install_linux_ersatztv.sh | sudo bash -s uninstall --purgeLocal
sudo install_linux_ersatztv.sh uninstall --purgeOptional (remove RetroIPTVGuide):
curl -sSL https://raw.githubusercontent.com/thehack904/ErsatzTV-Linux-Automation/main/install_linux_ersatztv.sh | sudo bash -s uninstall --purge --retroiptvguideDuring uninstall, the script will also remove the open firewall rule (port 8409/tcp) if present.
For details, see the CHANGELOG.
This project is licensed under the zLib License, allowing free use, modification, and redistribution — including for commercial purposes — provided attribution and license text are retained.
- ErsatzTV-Linux-Automation maintained by thehack904
- ErsatzTV developed by Jason G. Dove
- RetroIPTVGuide developed by thehack904