Television Simulator now has a Docker image that runs a simple HTTP server and exposes a volume for your configuration file and content.
docker-compose
file with your entire environment.Get it from Docker Hub.
Here’s an example Docker Compose file on Linux:
services:
tvs-server:
image: 'zshall/television-simulator:latest'
restart: unless-stopped
ports:
- '80:3000'
volumes:
- /var/tvs/config.tvs.yml:/home/static/config.tvs.yml
- /var/tvs/content:/home/static/content
Port 3000
is the default port but it’s a good practice to change it to something unique.
You need to specify the volume for config.tvs.yml
since the server Docker image doesn’t contain a default configuration.
The TVS Server image doesn’t come with HTTPS because it’s often better to use a reverse proxy, especially in a Docker setup. Nginx Proxy Manager is my top recommendation here. It can be deployed through Docker as well and if you set up a wildcard subdomain redirection in your DNS records you can route a lot of different HTTPS subdomains on your LAN or on the Internet. Set up a proxy host pointing to your machine on port 3000
(or your custom port) and use Let’s Encrypt to set up an SSL certificate.
<aside> 📌 HTTPS is infectious, for better or for worse. If you enable HTTPS on your instance of TVS you’ll need to make sure that all the resources you connect to also use it. Your media streams especially. HLS streams are “auto-upgraded” to HTTPS and if they can’t be they won’t work.
</aside>