Television Simulator now has a Docker image that runs a simple HTTP server and exposes a volume for your configuration file and content.

Advantages

Disadvantages

Getting the container

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.

Using HTTPS

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>