Redesign deployment as a single docker-compose with Backspace, Caddy (auto-HTTPS), and LiveKit (voice/video) using hybrid networking: Backspace+Caddy on isolated bridge, LiveKit on host mode for WebRTC. - Add install.sh: interactive installer that handles Docker setup, domain/DNS verification, secret generation, LiveKit config, and deployment with health-check wait - Add Caddyfile: static reverse proxy config using Caddy env vars, routes /livekit/* to host-mode LiveKit via host.docker.internal - Rewrite docker-compose.yml: all-in-one with profiles (voice), no external volumes/networks, bind mount ./data for visibility - Fix livekit.ts: use LIVEKIT_URL env var directly instead of Host-header derivation that made the env var dead code - Fix Dockerfile: health check reads $PORT dynamically - Update .env.example: add DOMAIN, COMPOSE_PROFILES documentation - Update .gitignore: add livekit.yaml (contains secrets)
31 lines
1.2 KiB
Bash
31 lines
1.2 KiB
Bash
# ─── Backspace Configuration ────────────────────────────────
|
|
# Copy to .env and configure, or run ./install.sh to generate automatically.
|
|
|
|
# Your server's public domain name (required)
|
|
DOMAIN=example.com
|
|
|
|
# ─── Server ─────────────────────────────────────────────────
|
|
PORT=3000
|
|
HOST=0.0.0.0
|
|
|
|
# Authentication — generate with: openssl rand -hex 32
|
|
JWT_SECRET=
|
|
|
|
# Registration — set to false to close signups after initial setup
|
|
REGISTRATION_OPEN=true
|
|
|
|
# Max file upload size in bytes (default: 100MB)
|
|
MAX_UPLOAD_SIZE=104857600
|
|
|
|
# ─── LiveKit Voice/Video ───────────────────────────────────
|
|
# To enable voice/video, fill in all three values below and add:
|
|
# COMPOSE_PROFILES=voice
|
|
# Leave empty to run Backspace without voice features.
|
|
LIVEKIT_URL=
|
|
LIVEKIT_API_KEY=
|
|
LIVEKIT_API_SECRET=
|
|
|
|
# ─── Docker Compose ────────────────────────────────────────
|
|
# Uncomment to enable the LiveKit service:
|
|
# COMPOSE_PROFILES=voice
|