Multi-Channel streaming setup
Find a file
2025-02-08 23:48:30 +00:00
config Set X-Forwarded-For only for requests from Cloudflare 2025-02-06 20:50:32 +02:00
src rename prestart to init 2025-02-08 23:48:30 +00:00
.gitignore setup icecast server 2024-06-28 23:01:28 +00:00
docker-compose.yml Resolve the circular dependance between the services 2025-02-06 13:08:22 +00:00
init.sh Provide example ffmpeg commands for splitting a file to hls vod 2025-02-04 17:56:05 +00:00
LICENSE Initial commit 2023-12-31 03:33:27 +02:00
README.md Update the docs 2025-02-06 14:54:18 +00:00
variables.env.dist update the variables.env.dist file 2025-01-29 13:29:53 +00:00

Television

Multi channel stream setup with Flask REST API for scheduling channels.

Install

  1. cp variables.env.dist variables.env and set the required variables

  2. Start the acme-sh service: docker-compose up -d acme-sh

  3. Register acme account: source variables.env; docker exec acme.sh --register-account -m $EMAIL

  4. Set the ACCOUNT_THUMBPRINT variable

  5. Run the stack using:

docker-compose up -d --build --remove-orphans
  1. Issue a certificate:
source variables.env; \
docker exec acme.sh --issue -d $BASE_URL --stateless; \
docker exec acme.sh --issue -d $CORE_API_HOSTNAME --stateless
  1. Install the certificate:
source variables.env; \
docker exec acme.sh --install-cert -d $BASE_URL --reloadcmd "cat \$CERT_KEY_PATH \$CERT_FULLCHAIN_PATH > /certificates/$BASE_URL.pem"; \
docker exec acme.sh --install-cert -d $CORE_API_HOSTNAME --reloadcmd "cat \$CERT_KEY_PATH \$CERT_FULLCHAIN_PATH > /certificates/$CORE_API_HOSTNAME.pem"
  1. Restart haproxy container:
docker kill -s USR2 haproxy
  1. Set crontab:
0 0 1 * * docker exec acme.sh --cron && docker kill -s USR2 haproxy

Usage

  1. Access the admin panel at https://stream.example.com/ui to setup the channels that we list in epg.json