| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-22 21:33:07 +03:00
										 |  |  | set -e  # Fail on any command error | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-17 11:52:45 -08:00
										 |  |  | # Debug output | 
					
						
							|  |  |  | echo "Matrix Arch: $MATRIX_ARCH" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Detect architecture from matrix input, fallback to system architecture | 
					
						
							|  |  |  | if [ -n "$MATRIX_ARCH" ]; then | 
					
						
							|  |  |  |     ARCH=$MATRIX_ARCH | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     ARCH=$(uname -m) | 
					
						
							|  |  |  |     # Convert system architecture to our naming convention | 
					
						
							|  |  |  |     case $ARCH in | 
					
						
							|  |  |  |         x86_64) ARCH="x64" ;; | 
					
						
							|  |  |  |         aarch64) ARCH="arm64" ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Debug output | 
					
						
							|  |  |  | echo "Selected Arch: $ARCH" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Set Node.js version and architecture-specific filename | 
					
						
							| 
									
										
										
										
											2024-07-17 01:08:33 +03:00
										 |  |  | NODE_VERSION=20.15.1 | 
					
						
							| 
									
										
										
										
											2025-01-17 11:52:45 -08:00
										 |  |  | NODE_ARCH=$ARCH | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Debug output | 
					
						
							|  |  |  | echo "Node arch: $NODE_ARCH" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Special case for x64 in Node.js downloads | 
					
						
							|  |  |  | if [ "$NODE_ARCH" = "x64" ]; then | 
					
						
							|  |  |  |     NODE_FILENAME="x64" | 
					
						
							|  |  |  | elif [ "$NODE_ARCH" = "arm64" ]; then | 
					
						
							|  |  |  |     NODE_FILENAME="arm64" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Debug output | 
					
						
							|  |  |  | echo "Node filename: $NODE_FILENAME" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PKG_DIR=dist/trilium-linux-${ARCH}-server | 
					
						
							|  |  |  | echo "Package directory: $PKG_DIR" | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-11 21:22:59 +02:00
										 |  |  | if [ "$1" != "DONTCOPY" ] | 
					
						
							|  |  |  | then | 
					
						
							| 
									
										
										
										
											2025-01-17 11:52:45 -08:00
										 |  |  |     # Need to modify copy-trilium.sh to accept the target directory | 
					
						
							|  |  |  |     ./bin/copy-trilium.sh "$PKG_DIR" | 
					
						
							| 
									
										
										
										
											2019-10-11 21:22:59 +02:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-11 21:22:59 +02:00
										 |  |  | cd dist | 
					
						
							| 
									
										
										
										
											2025-01-17 11:52:45 -08:00
										 |  |  | wget https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${NODE_FILENAME}.tar.xz | 
					
						
							|  |  |  | tar xfJ node-v${NODE_VERSION}-linux-${NODE_FILENAME}.tar.xz | 
					
						
							|  |  |  | rm node-v${NODE_VERSION}-linux-${NODE_FILENAME}.tar.xz | 
					
						
							| 
									
										
										
										
											2019-10-11 21:22:59 +02:00
										 |  |  | cd .. | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-17 11:52:45 -08:00
										 |  |  | mv dist/node-v${NODE_VERSION}-linux-${NODE_FILENAME} $PKG_DIR/node | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-26 23:51:30 +02:00
										 |  |  | rm -r $PKG_DIR/node/lib/node_modules/npm | 
					
						
							| 
									
										
										
										
											2020-08-27 23:04:00 +02:00
										 |  |  | rm -r $PKG_DIR/node/include/node | 
					
						
							| 
									
										
										
										
											2020-08-26 23:51:30 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-11 21:22:59 +02:00
										 |  |  | rm -r $PKG_DIR/node_modules/electron* | 
					
						
							| 
									
										
										
										
											2024-09-08 17:40:05 +03:00
										 |  |  | rm -r $PKG_DIR/electron*.js | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-13 12:09:36 +03:00
										 |  |  | printf "#!/bin/sh\n./node/bin/node src/main" > $PKG_DIR/trilium.sh | 
					
						
							| 
									
										
										
										
											2019-10-11 21:22:59 +02:00
										 |  |  | chmod 755 $PKG_DIR/trilium.sh | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-17 23:47:26 +01:00
										 |  |  | cp bin/tpl/anonymize-database.sql $PKG_DIR/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-13 12:09:36 +03:00
										 |  |  | cp -r translations $PKG_DIR/ | 
					
						
							| 
									
										
										
										
											2022-02-12 22:51:28 +01:00
										 |  |  | cp -r dump-db $PKG_DIR/ | 
					
						
							| 
									
										
										
										
											2022-12-04 23:49:16 +01:00
										 |  |  | rm -rf $PKG_DIR/dump-db/node_modules | 
					
						
							| 
									
										
										
										
											2022-02-12 22:51:28 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-11 21:22:59 +02:00
										 |  |  | VERSION=`jq -r ".version" package.json` | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-11 21:22:59 +02:00
										 |  |  | cd dist | 
					
						
							| 
									
										
										
										
											2019-01-12 19:48:45 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-17 11:52:45 -08:00
										 |  |  | tar cJf trilium-linux-${ARCH}-server-${VERSION}.tar.xz trilium-linux-${ARCH}-server |