Sign inSign up

waazaafr/m3u-to-strm

By waazaafr

‱Updated 10 months ago

Extract VOD movies and show files from .m3u as .strm files to specific libraries.

Image
0

4.7K

waazaafr/m3u-to-strm repository overview

===========================================================================================

⁠🇬🇧 Overview

This tool periodically downloads an IPTV M3U playlist, parses it, and generates .strm files for movies and TV series inside predefined directories.
Optionally, it can:

  • Launch a Flask proxy cache to locally stream/capture video files. Work In Progress (WIP)
  • Notify Gotify when new items are added.
  • Trigger Jellyfin library rescans.
  • Be configured dynamically via a /config/config.json file or environment variables or from the webui.

â đŸ‡«đŸ‡· Aperçu

Cet outil tĂ©lĂ©charge pĂ©riodiquement une playlist IPTV M3U, l’analyse et crĂ©e des fichiers .strm pour les films et sĂ©ries dans des rĂ©pertoires organisĂ©s.
Il peut en option :

  • Lancer un proxy Flask pour mettre en cache les flux vidĂ©o. Pas encore implĂ©mentĂ©.
  • Notifier Gotify lorsqu’un nouveau contenu est ajoutĂ©.
  • DĂ©clencher un scan Jellyfin.
  • Être configurĂ© dynamiquement via un fichier /config/config.json ou des variables d’environnement ou depuis la webui.

⁠🐳 Docker Run

docker run -d \
  --name m3u-to-strm \
  -v /path/to/movies:/movies \
  -v /path/to/tv:/tvshows \
  -v /path/to/config:/config \
  -e M3U_URL="https://example.com/playlist.m3u" \
  -e JELLYFIN_URL="http://192.168.1.10:8096" \
  -e JELLYFIN_API_KEY="your_api_key_here" \
  -e GOTIFY_URL="http://192.168.1.10:8080" \
  -e GOTIFY_TOKEN="your_gotify_token" \
  -e INTERVAL=3600 \
  -e LOG_LEVEL=DEBUG \
  -p 8080:8080 \
  waazaafr/m3u-to-strm:latest

⁠🐳 Docker Compose

services:
  app:
    image: waazaafr/m3u-to-strm:latest
    container_name: m3u-to-strm
    restart: unless-stopped
    environment:
      M3U_URL: "https://example.com/playlist.m3u"
      FOLDER_MOVIES: "/movies"
      FOLDER_TV: "/tvshows"
      JELLYFIN_URL: "http://192.168.1.10:8096"
      JELLYFIN_API_KEY: "your_api_key_here"
      GOTIFY_URL: "http://192.168.1.10:8080"
      GOTIFY_TOKEN: "your_gotify_token"
      INTERVAL: 3600
      LOG_LEVEL: "INFO"
    volumes:
      - ./config:/config
      - ./movies:/movies
      - ./tv:/tvshows
    ports:
      - "8080:8080"

⁠Notes

  • Ensure that the container user has write permissions to the folders.

  • For Jellyfin, make sure the API key has sufficient permissions to trigger a library scan.

  • Gotify notifications will include the full list of added files, skipped counts, errors, and next execution time.

=======================================================================

Feel free to join me on https://discord.gg/p9xkjEw8ts⁠⁠⁠⁠

If you like this, consider buing me a coffee: https://buymeacoffee.com/waazaa⁠⁠⁠⁠

If you need an UnRAID license follow this link: https://unraid.net/pricing?via=4c3f80⁠⁠⁠⁠

Tag summary

Content type

Image

Digest

sha256:9e78b08e5


Size

113.2 MB

Last updated

10 months ago

docker pull waazaafr/m3u-to-strm