Files
twitchChatOverlayServer/DOCUMENTATION.md

50 lines
1.7 KiB
Markdown

# OpenChat Overlay Documentation
## Overview
OpenChat Overlay is a lightweight, open-source Twitch chat overlay solution designed to be hosted on minimal hardware (like a Proxmox LXC container). It provides a user-friendly dashboard for customization and a highly optimized, client-side rendered overlay URL.
## Getting Started
### Prerequisites
- Node.js (v18+)
- Supabase Account
- Twitch Developer Application (Client ID & Secret)
### Installation
1. Clone the repository.
2. Install dependencies:
```bash
npm install
```
3. Configure environment variables in `.env.local`:
```env
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
NEXTAUTH_SECRET=...
TWITCH_CLIENT_ID=...
TWITCH_CLIENT_SECRET=...
```
4. Run the development server:
```bash
npm run dev
```
## Architecture Notes
- The application uses **Next.js App Router**.
- **Dashboard:** Located in `src/app/(dashboard)`. Protected by authentication.
- **Overlay:** Located in `src/app/overlay/[token]`. Publicly accessible but requires a valid token. Renders with a transparent background.
## Deployment
### Infrastructure Overview
- **Development:** Conducted on local desktop (CachyOS).
- **Version Control:** Synced to `gitea.ramforth.net` under the `RamTech` organization.
- **Production Host:** Standalone Proxmox LXC container or VM.
- **Service URL:** Production will NOT be hosted on `localhost`. All external callbacks (Twitch Auth) must point to the production domain/IP.
### Deployment Workflow
1. Push changes from local development machine to Gitea.
2. Pull changes on the production LXC/VM.
3. Build and run using Docker or as a systemd service.