Sign inSign up

epyx/streamdesk

By epyx

โ€ขUpdated 3 months ago

Browser-based Twitch chat & moderation tool with OAuth login, multi-channel chat and mod tools

Image
0

1.2K

epyx/streamdesk repository overview

โ ๐Ÿ” StreamDesk

A browser-based Twitch chat and moderation tool. StreamDesk securely connects to your Twitch account via OAuth, shows chat from multiple channels at once in tabs, and gives moderators direct access to timeouts, bans, message deletion, polls, predictions, and detailed user info.

๐Ÿ“– Full documentation, source code & issues: github.com/Epyxx/StreamDeskโ 

โ Quick Start

docker run -d \
  --name streamdesk \
  --restart unless-stopped \
  -p 3000:3000 \
  -e TWITCH_CLIENT_ID=your_client_id \
  -e TWITCH_CLIENT_SECRET=your_client_secret \
  -e TWITCH_REDIRECT_URI=http://localhost:3000/callback \
  epyx/streamdesk:latest

Then open http://localhost:3000 (or your own domain) in a browser and log in via "Log in with Twitch".

โ Docker Compose

services:
  streamdesk:
    image: epyx/streamdesk:latest
    container_name: streamdesk
    restart: unless-stopped
    ports:
      - "3000:3000"
    env_file:
      - .env

โ Environment Variables

VariableRequiredDescription
TWITCH_CLIENT_IDโœ…Client ID of your registered Twitch application
TWITCH_CLIENT_SECRETโœ…Matching client secret
TWITCH_REDIRECT_URIโœ…Must exactly match the OAuth Redirect URL registered in the Twitch Developer Consoleโ 
PORTโ€“Internal server port (default: 3000)

You can register a Twitch application for free at dev.twitch.tv/console/appsโ  โ€“ details in the README on GitHubโ .

โ Tags

  • latest โ€“ always the current state of main
  • X.Y.Z, X.Y โ€“ versioned releases (Git tag vX.Y.Z)

Multi-arch image for linux/amd64 and linux/arm64.

โ Notes

  • The container is stateless: chat/event history lives in the browser's localStorage, so no volume is needed for persistent data.
  • When running behind a reverse proxy (e.g. under a subdirectory), both regular HTTP requests and WebSocket upgrades need to be forwarded. See the GitHub documentationโ  for concrete Apache/nginx examples.

โ Security Notes

  • Login runs exclusively through the official Twitch OAuth flow โ€“ credentials are never entered or stored manually.
  • Never bake TWITCH_CLIENT_SECRET into an image โ€“ always pass it as an environment variable at runtime (see examples above).

โ License

MITโ 


Built by Epyxโ  ยท Source: github.com/Epyxx/StreamDeskโ 

Tag summary

Content type

Image

Digest

sha256:9ea4f774fโ€ฆ

Size

48 MB

Last updated

3 months ago

docker pull epyx/streamdesk