36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
# OBS Overlays Docker Stack
|
|
|
|
LAN-only browser-source overlays for OBS. Each overlay runs in its own Docker container and keeps editable JSON state in `./data`, outside Git, so Portainer redeploys do not wipe the active stream state.
|
|
|
|
## Services
|
|
|
|
| Overlay | Container | Port | OBS URL | Editor URL | State file |
|
|
|---|---|---:|---|---|---|
|
|
| Pokemon Party | `pokemon-party-overlay` | 8765 | `http://SERVER-IP:8765/overlay.html` | `http://SERVER-IP:8765/editor.html` | `./data/pokemon-party/party.json` |
|
|
| Gauntlet | `gauntlet-overlay` | 8770 | `http://SERVER-IP:8770/overlay.html` | `http://SERVER-IP:8770/editor.html` | `./data/gauntlet/gauntlet.json` |
|
|
| Blackout Bingo | `blackout-bingo-overlay` | 8780 | `http://SERVER-IP:8780/overlay.html` | `http://SERVER-IP:8780/editor.html` | `./data/blackout-bingo/bingo.json` |
|
|
|
|
## Portainer Git deployment
|
|
|
|
1. Push this repo to Gitea.
|
|
2. In Portainer, go to Stacks -> Add stack.
|
|
3. Choose Git Repository.
|
|
4. Paste the Gitea repo URL.
|
|
5. Set Compose path to `docker-compose.yml`.
|
|
6. Deploy the stack.
|
|
|
|
Redeploy the stack after Git changes to rebuild containers while keeping `./data` state files.
|
|
|
|
## Local test
|
|
|
|
```bash
|
|
docker compose up -d --build
|
|
curl http://127.0.0.1:8765/overlay.html
|
|
curl http://127.0.0.1:8770/overlay.html
|
|
curl http://127.0.0.1:8780/api/bingo
|
|
```
|
|
|
|
## LAN-only note
|
|
|
|
This stack publishes plain HTTP ports on the Docker host. Do not port-forward these editors to the internet. If remote access is needed later, put them behind VPN or authenticated reverse proxy.
|