Upgrade
Following the steps in this document you can upgrade the system version.
#
Upgrade erxes 0.13.0 to 0.14.1They can be used to upgrade erxes v0.13.0 to v 0.14.1 if you are hosting erxes on Ubuntu.
SSH into your server as
erxes
.First, stop all pm2 processes and delete pm2 apps.
Move erxes, erxes-api, erxes-integrations and ecosystem.json somewhere as a backup. Also backup nginx config file in /etc/nginx/sites-available/default and dump your mongodb.
Then run the installation script as
root
cd ~/erxes-api export MONGO_URL=mongodb://localhost/erxes?replicaSet=rs0 yarn migrate
Lastly, update
/home/erxes/erxes/ui/build/js/env.js
,ecosystem.json
and start pm2 bypm2 start ecosystem.json
, and update nginx config using your backup and reload nginx bysystemctl reload nginx
.Note: We have noticed that
pm2 reload ecosystem.json
andpm2 restart ecosystem.json
sometimes not picking up any changes to theecosystem.json
for some reason. So if you need to updateecosystem.json
file, please usepm2 delete ecosystem.json
andpm2 start ecosystem.json
in the feature.
#
Upgrade erxes 0.15.x to 0.18.2login to your server
cd /home/erxes && su erxes
( switch to erxes user)pm2 delete all
cp erxes/ui/build/js/env.js env.js.back
(backup env.js file)rm -rf erxes && rm -rf erxes-api && rm -rf erxes-integrations
(remove old files)Download new files
curl -L https://github.com/erxes/erxes/releases/download/0.18.2/erxes-0.18.2.tar.gz | tar -xz -C .
curl -L https://github.com/erxes/erxes-api/releases/download/0.18.2/erxes-api-0.18.2.tar.gz | tar -xz -C .
curl -L https://github.com/erxes/erxes-integrations/releases/download/0.18.2/erxes-integrations-0.18.2.tar.gz | tar -xz -C .
mv env.js.back erxes/build/js/env.js
(replace env)update ecosystem.json file
- replace
/home/erxes/erxes-api/engages-email-sender
with/home/erxes/erxes-engages-email-sender
- replace
/home/erxes/erxes-api/logger
with/home/erxes/erxes-logger
- replace
/home/erxes/erxes/widgets
with/home/erxes/erxes-widgets
- replace
pm2 start ecosystem.json
exit
( switch to root user )vim /etc/nginx/sites-enabled/default
(edit nginx config)replace
/home/erxes/erxes/ui/build with
/home/erxes/erxes/build```service nginx restart
#
Upgrade erxes 0.17.x to 0.18.2- login to your server
cd /home/erxes/erxes.io && su erxes
( switch to erxes user)pm2 delete all
cp erxes/js/env.js env.js.back
(backup env.js file)rm -rf erxes && rm -rf erxes-widgets && rm -rf erxes-api && rm -rf erxes-logger && rm -rf erxes-elkSyncer && rm -rf erxes-email-verifier && rm -rf erxes-engages-email-sender && rm -rf erxes-integrations
(remove old files)- Download new files
curl -L https://github.com/erxes/erxes/releases/download/0.18.2/erxes-0.18.2.tar.gz | tar -xz -C .
curl -L https://github.com/erxes/erxes-api/releases/download/0.18.2/erxes-api-0.18.2.tar.gz | tar -xz -C .
curl -L https://github.com/erxes/erxes-integrations/releases/download/0.18.2/erxes-integrations-0.18.2.tar.gz | tar -xz -C .
mv env.js.back erxes/build/js/env.js
(replace env)- update ecosystem.json file
- replace
/home/erxes/erxes.io/erxes-elkSyncer
with/home/erxes/erxes.io/erxes-elkSyncer/elkSyncer
- replace
pm2 start ecosystem.json
exit
( switch to root user )vim /etc/nginx/sites-enabled/default
(edit nginx config)- replace
/home/erxes/erxes.io/erxes
with/home/erxes/erxes.io/erxes/build
service nginx restart
#
Upgrade erxes 0.19.2 to latest (0.20.x)Login as erxes user
cd /home/erxes/erxes.io
Remove old folders
rm -rf erxes*
stop pm2 process
pm2 delete all
Create erxes project
yarn create erxes-app erxes
Update MONGO_URL config
- vim (nano) ecosystem.config.js (open ecosystem.config.js file)
- copy MONGO_URL config from line 14
- vim (nano) ../erxes.io/erxes/configs.json (open config.json file in erxes folder)
- replace MONGO_URL config in line 3 with the copied value
- Run start command
cd erxes
yarn start
- Enter your domain answer to the questions
- Switch to su and replace nginx config
exit
cp erxes/nginx.conf /etc/nginx/sites-available/default
- Run certbot again and restart nginx
sudo certbot --nginx
service nginx restart
- Done. Check your app in browser.
#
Upgrading from v0.9+ to the latest release vx.x.x#
Breaking Changes- Since version
latest vx.x.x
Erxes started using RabbitMQ as message broker service. To update, please see example changes at docker installation guide. - Engage module is moved to separate repository. Also docker installation guide is updated to reflect related changes.
#
Env changeserxes
REACT_APP_INTEGRATIONS_API_URL
- is no longer used
erxes-api
ENGAGES_API_DOMAIN
- erxes-engages service endpointRABBITMQ_HOST
- RabbitMQ connection uri
erxes-widgets-api
RABBITMQ_HOST
- RabbitMQ connection uri
erxes-integrations
RABBITMQ_HOST
- RabbitMQ connection uri
erxes-engages
PORT
- engages service running portNODE_ENV
- node environmentDEBUG
- enable loggingMAIN_API_DOMAIN
- erxes api urlMONGO_URL
- MongoDB connection uriRABBITMQ_HOST
- RabbitMQ connection uri