| 
									
										
										
										
											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 |