Okay, so it looks like this can be installed by "reverse-engineering" the app dockerfile instructions. After some tinkering, this is how I got it working:
Create a new NGINX proxy app for your desired shell USER, we'll also call it MEMOS for the purpose of this tutorial (note assigned PORT number) and also create your new site record for the app (assign the new NGINX proxy app to route it to / ).
Get newer Node binary
mkdir ~/bin && cd ~/bin
tar zxf node-v16.16.0-linux-x64.tar.gz
mkdir -p ~/opt/yarn
tar zxf latest.tar.gz --strip 1
Setup updated Go
tar zxf go1.20.2.linux-amd64.tar.gz
tar zxf musl-latest.tar.gz
make && make install
- Setup symlinks for new binaries:
ln -s ~/opt/go/bin/go ~/bin/go && ln -s ~/opt/yarn/bin/yarn ~/bin/yarn && ln -s ~/opt/musl-dev/bin/musl-gcc ~/bin/musl-gcc && ln -s ~/bin/node-v16.16.0-linux-x64/bin/node ~/bin/node
~/.bash_profile PATH line, change to following (replace MEMOS with your Node.js app name):
- Refresh bash config and proceed to install into MEMOS:
tar zxf v0.11.2.tar.gz --strip-components=1
cp -R ./web/* .
yarn && yarn build
cp -R dist/* ./server/dist/
cmd/server.go and change all instances of 8081 to the assigned app PORT, save and close.
Build new app binary:
go build -o ~/apps/MEMOS/memos ~/apps/MEMOS/main.go
- EDIT crontab via
crontab -e and ADD the following on a new line (replace path to new memos binary file), save and close.
00,10,20,30,40,50 * * * * /home/USER/apps/MEMOS/memos > /dev/null 2>&1
- Test load the app on your assigned domain when the crontab runs it, eg https://mymemosapp.com, then immediately login with the demo account at https://mymemosapp.com/auth and change the password/user details.
And that should be it! If you have any issues feel free to comment here or open a ticket with support for further assistance.
EDIT: Added Node binary setup due to yarn requirements
EDIT2: Updated for latest Go and memos releases