Backend engine for ingesting Twitch, YouTube, and LivePix events and broadcasting normalized stream activity over REST and Socket.IO.
This repository is a sanitized public release of a larger private streaming toolkit. It intentionally contains only the server-side logic.
Removed from this public version:
- All overlay HTML/CSS/JS files
- Intro, BRB, ending, and other scene pages
- Admin frontend assets
- Runtime data, uploaded media, QR codes, and branding assets
- Private deploy settings and machine-specific identifiers
Included in this public version:
- Twitch, YouTube, and LivePix listener logic
- Alert queueing and replay history APIs
- Chat ingestion and featured-message state management
- Session metrics and analytics endpoints
- Config persistence with secret redaction
- Docker and remote deploy scaffolding
.
├── server/
│ ├── index.js
│ ├── package.json
│ ├── src/
│ │ ├── routes/
│ │ ├── services/
│ │ └── ...
│ └── test/
├── Dockerfile
├── deploy.sh
└── README.md
Requirements:
- Node.js 20+
- npm 10+
Install and run:
cp server/.env.example server/.env
npm ci --prefix server
npm run dev --prefix serverRun tests:
npm test --prefix server- Runtime files are created under
server/data/on first start. - Secrets are persisted in
server/data/secrets.jsonand are ignored by git. - Audio uploads are stored in
server/data/sounds/. - The original live overlay designs are not part of this repository. Build your own frontend or connect your own browser sources to the exposed APIs and Socket.IO events.
Core endpoints:
GET /GET /api/health/readyGET /api/statusGET /api/health/connectionsGET /api/audienceGET /api/configPOST /api/configGET /api/chat/statePOST /api/chat/testPOST /api/chat/featureGET /api/alert-historyPOST /api/alert-replayGET /api/session/summaryPOST /api/session/startPOST /api/session/endGET /api/analytics/overviewPOST /webhooks/livepix
Authentication and OAuth routes are also available for the supported providers.
Docker image build:
docker build -t stream-event-hub-core .
docker run --rm -p 3232:3232 -v "$(pwd)/server/data:/app/data" stream-event-hub-coreRemote deployment scaffolding is provided through deploy.sh and .deploy.env.example.
ISC