Files
BetterDesk/docker/console-entrypoint.sh
T
UNITRONIX 7f7479fb88 feat(docker): support PUID/PGID for container app user
Remap betterdesk at entrypoint start so Synology/NAS bind mounts can
match host ownership without Compose user: overrides.

Refs #376

Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
2026-08-19 10:28:39 +02:00

30 lines
1.1 KiB
Bash

#!/bin/sh
# BetterDesk Console — Docker Entrypoint Wrapper
# Fixes volume file permissions before dropping to non-root user
set -e
# shellcheck source=/dev/null
. /ensure-app-user.sh
ensure_betterdesk_user
# Fix ownership of volume-mounted data directories.
# Docker volumes preserve UID/GID from the host or previous container,
# which may not match the betterdesk user (PUID/PGID, default 10001).
if [ "$(id -u)" = "0" ]; then
chown -R betterdesk:betterdesk /app/data 2>/dev/null || true
# Fix permissions on sensitive files
if [ -f /app/data/.session_secret ]; then
chmod 600 /app/data/.session_secret
chown betterdesk:betterdesk /app/data/.session_secret
fi
if [ -f /app/data/auth.db ]; then
chown betterdesk:betterdesk /app/data/auth.db
fi
# /opt/rustdesk may be mounted read-only from server volume — only fix if writable
chown -R betterdesk:betterdesk /opt/rustdesk 2>/dev/null || true
# Drop privileges and run the actual entrypoint
exec su-exec betterdesk /app/docker-entrypoint.sh
else
exec /app/docker-entrypoint.sh
fi