1.5 KiB
1.5 KiB
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
- Push this repo to Gitea.
- In Portainer, go to Stacks -> Add stack.
- Choose Git Repository.
- Paste the Gitea repo URL.
- Set Compose path to
docker-compose.yml. - Deploy the stack.
Redeploy the stack after Git changes to rebuild containers while keeping ./data state files.
Local test
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.