# ============================================================ # EchoChat 部署环境变量示例(通用) # 本文件为主模板,含所有可配置项 + 默认值说明 # 选择部署形态时请复制为 .env.local 或 .env.public,然后按需修改 # ------------------------------------------------------------ # 本机 Demo:cp deploy/.env.local.example deploy/.env # 公网部署:cp deploy/.env.public.example deploy/.env # ============================================================ # ============================================================ # 1. 部署形态切换 # ============================================================ # 部署形态标识(仅用于人眼识别,不影响运行时) # 可选值:local | public DEPLOY_MODE=local # ============================================================ # 2. Postgres / Redis / MinIO(中间件) # ============================================================ POSTGRES_DB=echochat POSTGRES_USER=echochat POSTGRES_PASSWORD=echochat_dev_2026 REDIS_PASSWORD= MINIO_ROOT_USER=echochat MINIO_ROOT_PASSWORD=echochat123456 # ============================================================ # 3. Go backend # ============================================================ GO_SERVICE_PORT=8085 # JWT 签名密钥(生产环境必须改) JWT_SECRET=echochat-dev-jwt-secret-2026-please-change-in-production # ============================================================ # 4. mediasoup 媒体服务器(Node) # ============================================================ # Go ↔ Node 内部鉴权 token(生产必须改) MEDIA_INTERNAL_TOKEN=dev-internal-token-change-me # mediasoup RTC 监听 IP:Docker 内部一律 0.0.0.0 MEDIASOUP_LISTEN_IP=0.0.0.0 # mediasoup RTC 对外通告 IP(本决策见设计 §D01): # - 本机 Demo:留空(浏览器走 127.0.0.1 / 局域网 IP 直连) # - 公网部署:必须填 **服务器公网 IP** 或解析到公网 IP 的域名 # 错误示例:127.0.0.1(远端浏览器只能拿到回环地址,无法建连) MEDIASOUP_ANNOUNCED_IP= # mediasoup UDP/TCP 端口范围(MVP 200 端口足够 ~25 用户级 Transport) MEDIASOUP_RTC_MIN_PORT=40000 MEDIASOUP_RTC_MAX_PORT=40199 # ============================================================ # 5. coturn TURN 服务器(仅公网部署启用) # ============================================================ # 是否启用 TURN(`docker compose --profile public up` 才拉起 coturn): # - 本机 Demo:false # - 公网部署:推荐 true(对称 NAT 用户的 fallback 通路) TURN_ENABLED=false # coturn 提供的 realm、用户名、密码 # 生产务必改,TURN 账号泄漏可被滥用 TURN_REALM=echochat TURN_USERNAME=echouser TURN_PASSWORD=echopass # TURN 外部监听端口(标准 3478 STUN/TURN,5349 TLS) # coturn 走 network_mode: host,端口一般沿用默认 TURN_LISTEN_PORT=3478 TURN_TLS_PORT=5349 # TURN 为中继流量分配的端口范围 TURN_MIN_PORT=49160 TURN_MAX_PORT=49200