mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-10 09:35:39 +00:00
b3973c4991
Prevent concurrent Go and console startup from generating mismatched admin passwords, and keep fresh Docker authentication on the centralized SQLite store. Refs #385 Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
66 lines
2.8 KiB
Plaintext
66 lines
2.8 KiB
Plaintext
; BetterDesk — Supervisord Configuration
|
|
; Manages both Go server and Node.js console in a single container
|
|
|
|
[supervisord]
|
|
nodaemon=true
|
|
logfile=/var/log/supervisor/supervisord.log
|
|
logfile_maxbytes=10MB
|
|
logfile_backups=2
|
|
loglevel=info
|
|
pidfile=/var/run/supervisord.pid
|
|
user=root
|
|
|
|
[unix_http_server]
|
|
file=/var/run/supervisor.sock
|
|
chmod=0700
|
|
|
|
[rpcinterface:supervisor]
|
|
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
|
|
|
[supervisorctl]
|
|
serverurl=unix:///var/run/supervisor.sock
|
|
|
|
; ---- BetterDesk Node.js Console ----
|
|
; Start before Go so optional legacy panel sync can initialize (issue #138).
|
|
; Fresh deployments use the consolidated primary database.
|
|
; Web console (5000). The RustDesk client API is served by the Go server (21121),
|
|
; so the console's own client API listener is disabled (API_ENABLED=false).
|
|
[program:betterdesk-console]
|
|
command=node /app/server.js
|
|
directory=/app
|
|
user=betterdesk
|
|
autostart=true
|
|
autorestart=true
|
|
startretries=5
|
|
startsecs=10
|
|
stopwaitsecs=10
|
|
; Log to Docker stdout/stderr so errors appear in `docker logs`
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
; Console serves the admin panel only; the Go server owns the client API.
|
|
environment=API_ENABLED="false",HOST="0.0.0.0",DEFAULT_ADMIN_USERNAME="%(ENV_DEFAULT_ADMIN_USERNAME)s",DEFAULT_ADMIN_PASSWORD="%(ENV_DEFAULT_ADMIN_PASSWORD)s",SQLITE_AUTH_DB_MODE="%(ENV_SQLITE_AUTH_DB_MODE)s"
|
|
priority=100
|
|
|
|
; ---- BetterDesk Go Server ----
|
|
; Signal (21116 TCP/UDP), Relay (21117), API (21121), NAT (21115), WS (21118/21119)
|
|
; The HTTP API and RustDesk client API are consolidated onto the Go server (21121).
|
|
; DB_URL env var is set by entrypoint.sh: SQLite path or postgres:// URI
|
|
[program:betterdesk-server]
|
|
command=/app/docker/wait-panel-auth-db.sh /usr/local/bin/betterdesk-server -mode all -api-port 21121 -key-file /opt/rustdesk/id_ed25519
|
|
directory=/opt/rustdesk
|
|
user=betterdesk
|
|
autostart=true
|
|
autorestart=true
|
|
startretries=5
|
|
startsecs=5
|
|
stopwaitsecs=10
|
|
; Log to Docker stdout/stderr so errors appear in `docker logs`
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
environment=SIGNAL_PORT="21116",SIGNAL_RATE_LIMIT_PER_IP="%(ENV_SIGNAL_RATE_LIMIT_PER_IP)s",ENCRYPTED_ONLY="%(ENV_ENCRYPTED_ONLY)s",DB_URL="%(ENV_DB_URL)s",AUTH_DB_PATH="%(ENV_AUTH_DB_PATH)s",SQLITE_AUTH_DB_MODE="%(ENV_SQLITE_AUTH_DB_MODE)s",RELAY_SERVERS="%(ENV_RELAY_SERVERS)s",ENROLLMENT_MODE="%(ENV_ENROLLMENT_MODE)s",NTP_SERVERS="%(ENV_NTP_SERVERS)s",BILLING_MAX_CLOCK_SKEW_MS="%(ENV_BILLING_MAX_CLOCK_SKEW_MS)s",BILLING_REQUIRE_SYNCED_CLOCK="%(ENV_BILLING_REQUIRE_SYNCED_CLOCK)s",BILLING_TRUST_OS_NTP="%(ENV_BILLING_TRUST_OS_NTP)s",INIT_ADMIN_USER="%(ENV_INIT_ADMIN_USER)s",INIT_ADMIN_PASS="%(ENV_INIT_ADMIN_PASS)s"
|
|
priority=200
|