Files
api/docs/building-binary.md
2021-05-13 13:08:43 +09:30

1.8 KiB

@unraid/api

Unraid API

Building the binary

To create a build using nexe run these commands on a completely UP TO DATE UNRAID machine.

Setup build environment
# Install node deps
npm i -g nexe del-cli move-file-cli
# Setup our directory
mkdir /sandbox && cd /sandbox
# Copy our source package
cp /boot/config/plugins/dynamix.my.servers/unraid-api.tgz .
# Decompress the source
tar xvzf ./unraid-api.tgz
# Rename the directory and enter it
mv package/ unraid-api && cd unraid-api
# Run nexe to build the binary
npm run build-binary -s
# Go back to the parent directory
cd ..

At this point we should have this.

root@Devon:/sandbox/unraid-api# ls -lah
total 84M
drwxrwxrwx 2 root root  160 Mar  5 15:41 ./
drwxrwxrwx 3 root root   80 Mar  5 15:39 ../
-rw-r--r-- 1 root root  203 Oct 26  1985 .env.production
-rw-r--r-- 1 root root  303 Oct 26  1985 .env.staging
-rw-r--r-- 1 root root  43K Oct 26  1985 CHANGELOG.md
-rw-r--r-- 1 root root 2.6K Oct 26  1985 README.md
-rw-r--r-- 1 root root 7.1K Oct 26  1985 package.json
-rwxrwxrwx 1 root root  84M Mar  5 15:39 unraid-api*
Building the new tgz
# Rename so the install thinks this is a normal npm tgz
mv unraid-api package
# Package the new binary and associated files
tar zcvf unraid-api-v$(grep '"version"' ./package/package.json | cut -d '"' -f 4)-nexe.tgz package

We should end up with this.

root@Devon:/sandbox# ls -lah
total 43M
drwxrwxrwx  3 root root 100 Mar  5 15:44 ./
drwxr-xr-x 20 xo   1000 420 Mar  5 15:37 ../
drwxrwxrwx  2 root root 160 Mar  5 15:41 package/
-rw-rw-rw-  1 root root 30M Mar  5 15:42 unraid-api-v2.15.34-nexe.tgz
-rw-------  1 root root 14M Mar  5 15:37 unraid-api.tgz