version: "2"
services:
  tvheadend:
    image: linuxserver/tvheadend
    container_name: tvheadend
    environment:
      - TZ=Europe/Helsinki
      - PUID=1000
      - PGID=985
    volumes:
      - /docker/tvheadend:/config
      - /mnt/Storage/Media/PVR:/recordings
      - /mnt/Storage/picons:/picons
      - /etc/localtime:/etc/localtime:ro
    ports:
      - 9981:9981
      - 9982:9982
    devices:
      - /dev/dri:/dev/dri #hardware acceleration
      - /dev/dvb:/dev/dvb #tuner card
    restart: unless-stopped
    networks:
      - proxy
    labels:
      - "traefik.enable=true"

      - "traefik.http.routers.tvheadend-redirect.entrypoints=http"
      - "traefik.http.routers.tvheadend-redirect.rule=Host(`tvheadend.korhonen.cc`)"
      - "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
      - "traefik.http.routers.tvheadend-redirect.middlewares=http2https"

      - "traefik.http.routers.tvheadend.entrypoints=https"
      - "traefik.http.routers.tvheadend.rule=Host(`tvheadend.korhonen.cc`)"
      - "traefik.http.routers.tvheadend.tls=true"
      - "traefik.http.routers.tvheadend.tls.certresolver=http"
      - "traefik.http.routers.tvheadend.service=tvheadend"
      - "traefik.docker.network=proxy"
      - "traefik.http.services.tvheadend.loadbalancer.server.port=9981"

networks:
  proxy:
    external: true
