Files
BetterDesk/web-nodejs/.env.example
T
UNITRONIX 8579e88be4 Fix split-domain RustDesk client config for dashboard and QR (Fixes #222).
Add PUBLIC_SERVER_ID, PUBLIC_RELAY_SERVER, and PUBLIC_API_URL with Settings UI,
unified endpoint resolution across Dashboard/Keys, and fallbacks via PANEL_PUBLIC_HOST.
2026-06-27 20:45:00 +02:00

99 lines
3.3 KiB
Bash

# BetterDesk Node.js Console Configuration
# Template for fresh install / merge on update (issue #158).
# Placeholders __NAME__ are substituted by the installer merge-env script.
PORT=5000
HOST=0.0.0.0
NODE_ENV=production
# RustDesk paths (critical for key/QR code generation)
RUSTDESK_DIR=__RUSTDESK_DIR__
KEYS_PATH=__RUSTDESK_DIR__
PUB_KEY_PATH=__PUB_KEY_PATH__
API_KEY_PATH=__API_KEY_PATH__
# Database (SQLite default; PostgreSQL when DB_TYPE=postgres)
DB_TYPE=__DB_TYPE__
DB_PATH=__DB_PATH__
DATABASE_URL=__DATABASE_URL__
# Auth database location (panel users, sessions — passwords live in auth.db / PostgreSQL)
DATA_DIR=__DATA_DIR__
# Go server HTTP API (REST + RustDesk handlers — canonical port)
GO_API_PORT=__GO_API_PORT__
HBBS_API_URL=__HBBS_API_URL__
BETTERDESK_API_URL=__BETTERDESK_API_URL__
# SMTP (optional — can also be configured in Settings → Email)
SMTP_HOST=
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=
SMTP_PASS=
SMTP_FROM=
SMTP_ALERT_EMAIL=
SMTP_TLS_VERIFY=false
# Public panel URL used in notification emails (optional)
PANEL_PUBLIC_URL=
# Public IP or DNS shown in RustDesk client configuration on the dashboard
# when operators open the panel via localhost or an internal hostname (optional)
PANEL_PUBLIC_HOST=
# Public RustDesk client endpoints when console, ID/relay, and API use different hostnames (optional)
# Used for Dashboard client config, QR codes, and deploy strings. Leave empty for auto-detection.
PUBLIC_SERVER_ID=
PUBLIC_RELAY_SERVER=
PUBLIC_API_URL=
# Backward compat: http://host:21121 → proxy to Go
API_ENABLED=true
API_PORT=__API_PORT__
API_HOST=0.0.0.0
RUSTDESK_API_PROXY=true
RUSTDESK_API_TLS=auto
# Server backend (betterdesk = Go server, rustdesk = legacy Rust)
SERVER_BACKEND=betterdesk
# Install-only seed (not used after first admin exists in database — see authService.ensureDefaultAdmin)
DEFAULT_ADMIN_USERNAME=admin
DEFAULT_ADMIN_PASSWORD=__DEFAULT_ADMIN_PASSWORD__
# Session
SESSION_SECRET=__SESSION_SECRET__
# HTTPS (set to true and provide certificate paths to enable)
HTTPS_ENABLED=false
HTTPS_PORT=5443
SSL_CERT_PATH=__SSL_CERT_PATH__
SSL_KEY_PATH=__SSL_KEY_PATH__
SSL_CA_PATH=
HTTP_REDIRECT_HTTPS=true
# Trust reverse proxy (set 1 behind nginx/traefik; do not use the string "true")
TRUST_PROXY=false
# WebSocket Origin allow-list (comma-separated). Same-host browser upgrades are always allowed.
# WS_ALLOWED_ORIGINS=https://panel.example.com
# Console→Go API: keep on 127.0.0.1 (native install) or http://betterdesk-server:21114/api (Docker).
# Do not expose the Go API port directly to WAN — use the console proxy on :21121 for RustDesk clients.
# Billing / NTP (commercialization module — read by betterdesk-server Go process)
# Stored in console .env; Linux installs load this via EnvironmentFile on betterdesk-server.service.
# After changes, restart betterdesk-server (Commercialization → Settings can apply + restart).
NTP_SERVERS=pool.ntp.org,time.google.com,time.cloudflare.com
BILLING_MAX_CLOCK_SKEW_MS=2000
BILLING_REQUIRE_SYNCED_CLOCK=1
BILLING_TRUST_OS_NTP=1
BILLING_ROUNDING_MINUTES=1
BILLING_REQUIRE_WORK_REPORT=1
# GitHub update source (stable = main branch, development = dev branch)
UPDATE_GITHUB_BRANCH=main
# Optional: read-only GitHub PAT for update checks (60 req/h unauthenticated → 5,000/h with token)
# UPDATE_GITHUB_TOKEN=