Ubuntu 18.04
These instructions are for installing PM415, MySQL, and Elastic Search on a single instance.
Requirements
Ubuntu 18.04 or higher
A SendGrid account for invitation links, password resets, and comments
Firewall rules to open ports 80, 443 and 9200
Root access
Install Node.js
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
sudo apt-get install nodejs
sudo apt-get install build-essentialInstall PM415
git clone https://github.com/mreider/pm415
cd pm415
sudo npm install
sudo npm install uuid --sInstall MySQL (MariaDB)
Answer 'Y' to the secure installation prompts.
Install Elastic Search
Edit the file /etc/elasticsearch/elasticsearch.yml and add the following
Start the service and check its status
If you see an error like 'Cannot allocate memory' you must be running a small instance. Lower the JVM heap size by editing the file /etc/elasticsearch/jvm.options by changing the values xms1g to xms100m and xmx1g to xmx100m.
If you changed your heap size - restart the service as follows:
Install Caddy Server to support SSL
Caddy is HTTP server that supports automatic SSL through LetsEncrypt. The following installs the personal version of Caddy.
Give caddy the ability to bind to privileged ports as a non-root user:
Set up needed user, group, and directories
Create Caddy Systemd service unit
Edit the file /etc/caddy/Caddyfile as follows:
Start the caddy service
Create environment variables
Edit the file /etc/environment and add the following environment variables
Load environment variables into your session
Run database migrations
Configure the app
Edit ~/pm415/config.js to change the appkey and add your domain to the whitelist and siteURL
Install and start pm2
Last updated
Was this helpful?