From 242fc8da67b4dc01a58db39dd96e3bc25761fc2c Mon Sep 17 00:00:00 2001 From: Zwitschi Date: Wed, 2 Sep 2026 20:38:22 +0200 Subject: [PATCH] chore(env): update PLAYOUT_PORT to 8081 and normalize line endings --- .env.example | 146 ++++++++++++++++++++-------------------- docker-compose.prod.yml | 2 + docker-compose.yml | 2 + 3 files changed, 77 insertions(+), 73 deletions(-) diff --git a/.env.example b/.env.example index 957c321..e4eef59 100644 --- a/.env.example +++ b/.env.example @@ -1,73 +1,73 @@ -# Environment variables for Linear Void -# Copy to .env and fill in real values for local/development use. -# Production secrets should be managed via Docker secrets, Cloudflare, or Hetzner environment. - -# Cloudflare R2 (S3-compatible) -R2_ACCESS_KEY_ID=your-r2-access-key -R2_SECRET_ACCESS_KEY=your-r2-secret-key -R2_BUCKET_NAME=linearvoid-media -R2_ENDPOINT=https://your-account-id.r2.cloudflarestorage.com -R2_REGION=auto -R2_KEEP_RUNS=2 -R2_MAX_RETENTION_BYTES=10737418240 - -# Cloudflare (for custom domain, cache rules, Workers if used) -CLOUDFLARE_API_TOKEN=your-cloudflare-api-token -CLOUDFLARE_ACCOUNT_ID=your-account-id -MEDIA_DOMAIN=media.linearvoid.tv - -# Public frontend URLs (Vite reads these from the repository root via frontend/vite.config.ts) -# Preferred local setup in this repo uses the real public domains through Cloudflare/Nginx Proxy Manager. -VITE_PUBLIC_APP_URL=https://linearvoid.tv -VITE_PUBLIC_WS_URL=wss://linearvoid.tv/ws -VITE_PUBLIC_HLS_URL=https://media.linearvoid.tv/hls/playlist.m3u8 -VITE_PUBLIC_ADMIN_DEFAULT_MODERATOR=admin -VITE_PUBLIC_ADMIN_DEFAULT_ROOM=main -VITE_PUBLIC_ADMIN_MODERATION_LOG_LIMIT=50 -ADMIN_USERNAME=admin -ADMIN_PASSWORD=change-me -ADMIN_SESSION_TTL_HOURS=12 -# Optional direct-local fallback when bypassing the public proxy: -# VITE_PUBLIC_APP_URL=http://localhost -# VITE_PUBLIC_WS_URL=ws://localhost/ws -# VITE_PUBLIC_HLS_URL=http://localhost/hls/playlist.m3u8 - -# Gitea Container Registry (for self-hosted Docker images) -CI_REGISTRY_URL=git.allucanget.biz -CI_REGISTRY_USER=your-gitea-username -CI_REGISTRY_TOKEN=your-gitea-token -CI_REGISTRY_NAMESPACE=zwitschi/linearvoid -# Gitea API access (optional, for CI/release automation) -CI_SERVER_URL=https://git.allucanget.biz - -# Chat / Application Database (compose-safe PostgreSQL by default, SQLite optional) -DATABASE_URL=postgres://linearvoid:linearvoid@db:5432/linearvoid?sslmode=disable -# Or for SQLite-only local development: -# DATABASE_URL=sqlite://./data/chat.db - -# Redis (for presence, rate limiting, pub/sub) -REDIS_URL=redis://redis:6379/0 - -# Service Ports (for local docker-compose) -PLAYOUT_PORT=8080 -CHAT_PORT=3000 -NGINX_PORT=80 - -# Playout configuration -PLAYLIST_PATH=/app/playlist/playlist.txt -HLS_SEGMENT_DURATION=2 -HLS_WINDOW_SIZE=12 - -# Shared runtime config (written by chat admin via /api/admin/config, read by playout). -# Both resolve to the same host file through the ./data/playlist volume. -CONFIG_PATH=/app/playlist/config.json -PLAYOUT_CONFIG_PATH=/app/playlist/config.json - -# Logging / Monitoring -LOG_LEVEL=info -PROMETHEUS_PORT=9090 -GRAFANA_PORT=3001 - -# Development flags -NODE_ENV=development -GO_ENV=development \ No newline at end of file +# Environment variables for Linear Void +# Copy to .env and fill in real values for local/development use. +# Production secrets should be managed via Docker secrets, Cloudflare, or Hetzner environment. + +# Cloudflare R2 (S3-compatible) +R2_ACCESS_KEY_ID=your-r2-access-key +R2_SECRET_ACCESS_KEY=your-r2-secret-key +R2_BUCKET_NAME=linearvoid-media +R2_ENDPOINT=https://your-account-id.r2.cloudflarestorage.com +R2_REGION=auto +R2_KEEP_RUNS=2 +R2_MAX_RETENTION_BYTES=10737418240 + +# Cloudflare (for custom domain, cache rules, Workers if used) +CLOUDFLARE_API_TOKEN=your-cloudflare-api-token +CLOUDFLARE_ACCOUNT_ID=your-account-id +MEDIA_DOMAIN=media.linearvoid.tv + +# Public frontend URLs (Vite reads these from the repository root via frontend/vite.config.ts) +# Preferred local setup in this repo uses the real public domains through Cloudflare/Nginx Proxy Manager. +VITE_PUBLIC_APP_URL=https://linearvoid.tv +VITE_PUBLIC_WS_URL=wss://linearvoid.tv/ws +VITE_PUBLIC_HLS_URL=https://media.linearvoid.tv/hls/playlist.m3u8 +VITE_PUBLIC_ADMIN_DEFAULT_MODERATOR=admin +VITE_PUBLIC_ADMIN_DEFAULT_ROOM=main +VITE_PUBLIC_ADMIN_MODERATION_LOG_LIMIT=50 +ADMIN_USERNAME=admin +ADMIN_PASSWORD=change-me +ADMIN_SESSION_TTL_HOURS=12 +# Optional direct-local fallback when bypassing the public proxy: +# VITE_PUBLIC_APP_URL=http://localhost +# VITE_PUBLIC_WS_URL=ws://localhost/ws +# VITE_PUBLIC_HLS_URL=http://localhost/hls/playlist.m3u8 + +# Gitea Container Registry (for self-hosted Docker images) +CI_REGISTRY_URL=git.allucanget.biz +CI_REGISTRY_USER=your-gitea-username +CI_REGISTRY_TOKEN=your-gitea-token +CI_REGISTRY_NAMESPACE=zwitschi/linearvoid +# Gitea API access (optional, for CI/release automation) +CI_SERVER_URL=https://git.allucanget.biz + +# Chat / Application Database (compose-safe PostgreSQL by default, SQLite optional) +DATABASE_URL=postgres://linearvoid:linearvoid@db:5432/linearvoid?sslmode=disable +# Or for SQLite-only local development: +# DATABASE_URL=sqlite://./data/chat.db + +# Redis (for presence, rate limiting, pub/sub) +REDIS_URL=redis://redis:6379/0 + +# Service Ports (for local docker-compose) +PLAYOUT_PORT=8081 +CHAT_PORT=3000 +NGINX_PORT=80 + +# Playout configuration +PLAYLIST_PATH=/app/playlist/playlist.txt +HLS_SEGMENT_DURATION=2 +HLS_WINDOW_SIZE=12 + +# Shared runtime config (written by chat admin via /api/admin/config, read by playout). +# Both resolve to the same host file through the ./data/playlist volume. +CONFIG_PATH=/app/playlist/config.json +PLAYOUT_CONFIG_PATH=/app/playlist/config.json + +# Logging / Monitoring +LOG_LEVEL=info +PROMETHEUS_PORT=9090 +GRAFANA_PORT=3001 + +# Development flags +NODE_ENV=development +GO_ENV=development diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 42ac5de..1112dc0 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -11,6 +11,8 @@ services: restart: unless-stopped env_file: - .env + ports: + - "${PLAYOUT_PORT:-8081}:8081" volumes: - ./data/playlist:/app/playlist:rw - ./data/media:/app/media:ro diff --git a/docker-compose.yml b/docker-compose.yml index 141e2cc..8757c53 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,6 +13,8 @@ services: restart: unless-stopped env_file: - .env + ports: + - "${PLAYOUT_PORT:-8081}:8081" volumes: - ./data/playlist:/app/playlist:ro - ./data/media:/app/media:ro