Docker container for twitchlite
Go to file
renovate-bot b51f27ba1a
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Update php:8.2.21-fpm-bullseye Docker digest to 7c515fc
2024-07-06 05:06:30 +00:00
helix Update php:8.2.21-fpm-bullseye Docker digest to 7c515fc 2024-07-06 05:06:30 +00:00
.drone.yml Remove notify step 2023-05-23 22:15:07 +02:00
.hadolint.yaml Simplify Dockerfile and add linting steps to CI 2021-02-05 22:37:18 +01:00
LICENSE Create Dockerfile 2020-08-13 23:48:53 +02:00
README.md Switch latest tag to point to the helix variant 2021-11-28 13:36:48 +01:00
renovate.json Update location of renovate presets [CI SKIP] 2021-08-06 15:11:11 +02:00

docker-twitchlite

Build Status Docker Pulls

Docker container for twitchLite. For more information about twitchLite please checkout the project page.

You can find the image on Docker Hub and the source code can be found here with a mirror on github.

The old version using the kraken api can be found under the kraken tag. The docker container will be updated until the kraken api is shutdown.

Usage

This is an php-fpm based image, which means it only runs an php-fpm process, and a separate webserver is needed to access twitchLite.

Configuration

The docker container is intended to be configure through ENV variables, and you have the following options:

ENV VAR default allowed description
UID 1000 Any UID The user id the container runs as
GID 1000 Any GID The group id the container runs as
OAUTH_TOKEN - - Your twitch oauth token
USER_ID - - Your twitch user id
ONLY_FOLLOWED_DEFAULT false true or false If only channels you follow should be shown by default
DEFAULT_LIMIT 25 1-100 How many livestreams to show at once
GET_TOP_GAMES true true or false If a list of the currently most played games should be retrieved for autocompletion
TOP_GAMES_LIMIT 100 1-100 How many of the currently most played games should be retrieved

Webserver

Since this is only a php-fpm container, you also need a webserver to serve the site. With that you need a shared volume between the 2 containers mounted at /var/www/twitchlite. You can have a look at the docker-compose file below for an example.

This is a pretty basic PHP site, so a basic nginx php-fpm config will work. Though I will note that access should only be given to index.php, and you can safely deny access to all other php files, especially the config.php file, which will contain your twitch oauth token, if you provide one.

Docker-compose example

Here is an example docker-compose file you can use to setup twitchLite

version: '2'

volumes:
  twitchlite:

networks:
  frontend:

services:
  twitchlite:
    image: mwalbeck/twitchlite
    restart: on-failure:5
    networks:
      - frontend
    volumes:
      - twitchlite:/var/www/twitchlite
    environment:
      UID: "1000"
      GID: "1000"
      OAUTH_TOKEN: "YOUR-OAUTH-TOKEN-HERE"
      USER_ID: "YOUR-USER-ID-HERE"
      ONLY_FOLLOWED_DEFAULT: "false"
      DEFAULT_LIMIT: "25"
      GET_TOP_GAMES: "true"
      TOP_GAMES_LIMIT: "100"

  nginx:
    image: nginx
    restart: on-failure:5
    networks:
      - frontend
    volumes:
      - "twitchlite:/var/www/twitchlite:ro"
    ports:
      - "443:443"
      - "80:80"