Files
BetterDesk/docker/show-admin-credentials.sh
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

28 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
# Print bootstrap admin credentials from the shared credentials file.
# Docker quick-start: .admin_credentials is mode 0600 and owned by betterdesk
# (UID from PUID, default 10001). docker compose exec runs as root, but
# cap_drop:ALL removes CAP_DAC_OVERRIDE, so root cannot read the file.
# Re-exec as betterdesk when invoked as root (issue #195).
set -e
if [ "$(id -u)" = "0" ]; then
if command -v su-exec >/dev/null 2>&1; then
exec su-exec betterdesk "$0" "$@"
fi
# All-in-one image historically lacked su-exec; busybox su works with SETUID.
exec su -s /bin/sh betterdesk -c 'exec "$0" "$@"' -- "$0" "$@"
fi
for creds_file in /opt/rustdesk/.admin_credentials /app/data/.admin_credentials; do
if [ -f "$creds_file" ] && [ -r "$creds_file" ]; then
cat "$creds_file"
exit 0
fi
done
echo "No readable admin credentials file found." >&2
echo " Checked: /opt/rustdesk/.admin_credentials, /app/data/.admin_credentials" >&2
echo " Wait for first boot to finish, then retry. Or: docker compose logs server" >&2
exit 1