Cesar Mendivil bc97ee0a68 feat(nginx): add Docker setup for Nginx with templated configuration
- Create Dockerfile for Nginx with envsubst for dynamic configuration.
- Add djmaster.conf.template for Nginx configuration with upstream services.
- Implement docker-entrypoint.sh to substitute environment variables in the Nginx config.
- Add README.md in nginx-examples for guidance on using the Nginx template.
- Include djmaster.conf.template in nginx-examples for local setup.
- Introduce utility functions for fetching YouTube video snippets and titles.
2026-03-18 10:35:28 -07:00

29 lines
1.4 KiB
Markdown

# Nginx examples for ReStreamer UI
This folder contains minimal example Nginx configuration files to run a reverse proxy for the ReStreamer UI and its microserver. Use them as templates — replace variables and paths to match your server.
Quick steps
1. Copy `djmaster.conf.template` to the target server (e.g. `/tmp`).
2. Set variables and generate the real config with `envsubst` (or edit manually):
```bash
export UI_HOST=djmaster.nextream.sytes.net
export YTDLP_HOST=144.217.82.82:8282
export YTDLP_TITLES_HOST=100.73.244.28:8080
export LIVEKIT_INGRESS_HOST=192.168.1.20:8088
export LETSENCRYPT_PATH=/etc/letsencrypt
envsubst < djmaster.conf.template > /etc/nginx/sites-available/djmaster.conf
ln -s /etc/nginx/sites-available/djmaster.conf /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
```
Notes
- The template proxies the UI to `127.0.0.1:3000` and the microserver (OAuth/persistence) to `127.0.0.1:3002` by default.
- `/yt-stream/` and `/yt-titles/` are proxied to external YTDLP hosts to avoid CORS from the browser.
- If you want automatic HTTPS, use `certbot --nginx -d $UI_HOST` (adjust paths to cert files as needed).
- Ensure `client_max_body_size` and timeouts fit your needs (examples set moderately large values).
If you want me to adapt these to your exact hostnames/paths, tell me the values and I can render the final `djmaster.conf` for you.