Automated Dockerfile to record livestreams with streamlink
This is a Docker Container to record a livestream. It uses the official Python Image with the Tag bullseye , installs streamlink and uses the Script streamlink-recorder.sh to periodically check if the stream is live.
To run the Container:
docker run -v /path/to/vod/folder/:/home/download -e streamLink='' -e streamQuality='' -e streamName='' -e streamOptions='' -e uid='' -e gid='' lauwarm/streamlink-recorder
Example:
docker run -v /home/:/home/download -e streamLink='twitch.tv/twitch' -e streamQuality='best' -e streamName='twitch' -e streamOptions='--twitch-api-header=Authorization=OAuth abcdefg123456;--twitch-disable-reruns' -e uid='1001' -e gid='1001' lauwarm/streamlink-recorder
/home/download
- the place where the vods will be saved. Mount it to a desired place with -v
option.
/home/script
- the place where the scripts are stored. (entrypoint.sh and streamlink-recorder.sh)
/home/plugins
- the place where the streamlink plugins are stored.
streamLink
- the url of the stream you want to record.
streamQuality
- quality options (best, high, medium, low).
streamName
- name for the stream.
streamOptions
- streamlink flags (--twitch-disable-reruns, separated by ;
, see Plugins)
uid
- USER ID, map to your desired User ID (fallback to 9001)
gid
- GROUP ID, map to your desired Group ID (fallback to 9001)
The File will be saved as streamName-YearMonthDay-HourMinuteSecond.mkv