A simple m3u
playlist editor, similar to xteve or threadfin, with epg
management.
Works with m3u, m3u8, m3u+ and Xtream codes api!
Tip
Has been tested on large playlist (https://github.com/iptv-org/iptv), with up to 10000+ channels. Note that larger lists will take longer to sync (it takes aproximately 1s for every 1000 channels.). If you are experiencing issues with your playlist, try the m3u playlist url provided in the link above to confirm it works to help rule out network or connectivity issues.
Feel free to open an issue on this repo, you can also join our Discord server to ask questions and get help, help others, suggest new ideas, and offer suggestions for improvements! 🎉
- Docker installed on your system.
- Xtream codes API login info or M3U URLs/files containing an M3U playlist of video streams.
- (Optionally) EPG URLs/files containing valid XMLTV data.
Check out the docs: m3u editor docs
Use the following compose example to get up and running.
services:
m3u-editor:
image: sparkison/m3u-editor:latest
container_name: m3u-editor
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
# This is used for websockets and in-app notifications
# Set to your machine/container IP where m3u editor will be accessed, if not localhost
- REVERB_HOST=localhost
# Uncomment and set to URL or IP if not localhost. Use full url, including http(s)
#- APP_URL=http://localhost
# Uncomment and set to true if using HTTPS
#- OCTANE_HTTPS=false
volumes:
# This will allow you to reuse the data across container recreates
# Format is: <host_directory_path>:<container_path>
# More information: https://docs.docker.com/reference/compose-file/volumes/
- ./data:/var/www/config
restart: unless-stopped
ports:
- 36400:36400 # app
- 36800:36800 # websockets/broadcasting
networks: {}
Or via Docker CLI:
docker run --name m3u-editor -e PUID=1000 -e PGID=1000 -e TZ=Etc/UTC -e REVERB_HOST=localhost -v ./data:/var/www/config --restart unless-stopped -p 36400:36400 -p 36800:36800 sparkison/m3u-editor:latest
Access via: http://localhost:36400 (user = admin, password = admin)
To ensure the data is saved across builds, link an empty volume to: /var/www/config
within the container. This is where the env
file will be stored, along with the sqlite database and the application log files.