2025-05-21 15:40:21 -07:00
|
|
|
#!/bin/sh
|
|
|
|
# Rootless entrypoint script for Trilium Notes
|
|
|
|
# Works with both Debian and Alpine-based images
|
|
|
|
|
|
|
|
# Check if runtime UID/GID match the expected values
|
|
|
|
if [ "${TRILIUM_UID}" != "$(id -u)" ] || [ "${TRILIUM_GID}" != "$(id -g)" ]; then
|
|
|
|
echo "Detected UID:GID mismatch (current: $(id -u):$(id -g), expected: ${TRILIUM_UID}:${TRILIUM_GID})"
|
|
|
|
# Check GID mismatch
|
|
|
|
if [ "${TRILIUM_GID}" != "$(id -g)" ]; then
|
|
|
|
echo "ERROR: Cannot change GID at runtime in rootless mode."
|
2025-05-21 15:42:30 -07:00
|
|
|
echo " Current GID: $(id -g), Expected GID: ${TRILIUM_GID}"
|
|
|
|
echo " Please use docker run with --user $(id -u):$(id -g) instead."
|
2025-05-21 15:40:21 -07:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
# Check UID mismatch
|
|
|
|
if [ "${TRILIUM_UID}" != "$(id -u)" ]; then
|
|
|
|
echo "ERROR: Cannot change UID at runtime in rootless mode."
|
2025-05-21 15:42:30 -07:00
|
|
|
echo " Current UID: $(id -u), Expected UID: ${TRILIUM_UID}"
|
|
|
|
echo " Please use docker run with --user $(id -u):$(id -g) instead."
|
2025-05-21 15:40:21 -07:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Make sure data directory has correct permissions
|
|
|
|
mkdir -p "${TRILIUM_DATA_DIR}"
|
|
|
|
|
|
|
|
# Start the app
|
|
|
|
exec node ./main
|