-
as root run
joplin-requirements.shto install the joplin requirements but please take this script with causion since it is not well tested in existing environments. Root privileges are needed to get the packages to be installed. You can runsudo bash -x joplin-requirements.shto see what it's doing.You could also create the requirements by yourself by:
- create user joplin with home
/home/joplin - install nodejs 18
- install packages
vim git build-essential python curl dirmngr apt-transport-https lsb-release ca-certificates - checkout your desired version from https://github.com/laurent22/joplin.git to
/home/joplin
- create user joplin with home
-
collect expected files and folders and build joplin by running
joplin.sh build. This must be run as the joplin user. If you run it with debug flagsudo -u joplin bash -x joplin.sh buildyou could see what's it's doing. -
create a new db
joplinin postgres (running on the same or on another server) and adaptrun.shwith your db credentials. You can usepsqlto do this, for example:sudo -u postgres psql CREATE USER joplin WITH PASSWORD 'your-secret-password-here'; CREATE DATABASE joplin; ALTER DATABASE joplin OWNER TO joplin; GRANT ALL PRIVILEGES ON DATABASE joplin TO joplin; \q
-
create a new file
.joplinrccontaining the variables you want to overwrite from therun.sh's defaults. e.g.POSTGRES_PASSWORD="your-secret-password-here" APP_BASE_URL="https://joplin.mydomain.org" -
test
run.sh- To do that run it as the joplin user:
sudo -u joplin run.shand it should provide you with a URL to test like this:App: Call this for testing: 'curl https://yourdomain/api/ping'
- To do that run it as the joplin user:
-
if
run.shworks as expected thecurlreports:{"status":"ok","message":"Joplin Server is running"}then, you can usejoplin.serviceto run joplin as a systemd service as follows:- edit the
joplin.servicefile to make sure in particular thatExecStartpoints to a copy ofrun.shthat is executeable and you tested above. sudo cp joplin.servce /etc/systemd/systemsudo systemctl daemon-reloadsudo systemctl enable joplinsudo service joplin startsudo service joplin status- Then to the curl test again
- edit the
-
in the
webserverfolder you find an configuration examples how to access the Joplin server from your reverse proxy (if your webserver is not included, and you get it configured please contribute a config example) -
Once it's running you can surf to the server you tested with curl above in your browser (https://yourdomain), then login with the email
admin@localhostand passowrdadmin. Change the admin password, create yourself a new user and you're rolling.
sudo systemctl stop joplin
then as user joplin:
cd ~/joplin
./joplin.sh checkout-latest
./joplin.sh build
if build run successfull you could install and test:
./joplin.sh install
./joplin.sh run
if joplin server starts without error you could exit with ctl-c and start the service
sudo systemctl start joplin