Multi-Channel streaming setup
Find a file
2025-01-31 00:09:35 +00:00
config redirect to https 2025-01-29 17:10:06 +00:00
src update docs 2025-01-31 00:09:35 +00:00
.gitignore setup icecast server 2024-06-28 23:01:28 +00:00
docker-compose.yml Replace certbot with acme.sh container 2025-01-28 18:13:50 +00:00
init.sh Replace certbot with acme.sh container 2025-01-28 18:13:50 +00:00
LICENSE Initial commit 2023-12-31 03:33:27 +02:00
README.md update docs 2025-01-29 17:11:08 +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

  6. Issue a certificate: source variables.env; docker exec acme.sh --issue -d $BASE_URL -d $CORE_API_HOSTNAME --stateless

  7. 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"

  8. Reastart haproxy container: docker kill -s USR2 haproxy

  9. 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
  2. Access the recordings gallery at https://tv.example.com/gallery

EPG stream priorities

  • prio = 0 - scheduled
  • prio = 1 - live
  • prio = 2 - live and vod recording