Erxes

Erxes | EasyCloudify

Erxes

  • Version: 1.0
  • OS: Ubuntu 18.04
  • Category: Business Apps

Description

Erxes is an open-source experience operating system (XOS) and the open-source alternative to HubSpot. It enables businesses, SaaS providers, and digital agencies to build unified customer experiences across all touchpoints from live chat and email to sales pipelines and CRM. Erxes is built around two main components: the core XOS platform and a plugin system that lets you pick only the capabilities your business needs.

Available plugins include Team Inbox, Messenger, Sales Management, Lead Generation, Engage (email/SMS campaigns), Contact Management, Knowledgebase, and Task Management. Additional plugins are available from the erxes marketplace at https://erxes.io/marketplace.

Erxes | EasyCloudify

Software Included

PackageVersionLicense
MongoDB4.0.3SSPL
Elasticsearch7.xElastic License
Nginx1.14.02-Clause BSD
Node.js12.16.3MIT

Key Features

  • Team Inbox — unified inbox combining live chat, in-app messaging, email, and forms
  • Messenger — embeddable customer messenger with knowledge-base integration
  • Sales Management — visual sales pipeline with drag-and-drop stage management
  • Lead Generation — customizable landing pages, forms, pop-ups, and embed placements
  • Engage — email, SMS, and messenger campaigns for customer lifecycle automation
  • Contact Management — full CRM for coordinating customer interactions
  • Knowledgebase — self-service help center for customers and staff
  • Task Management — collaborative task boards with cross-team linking

Before You Begin

You will need:

  • A domain or subdomain with a DNS A record pointing to your VPS IP address.
  • SSH access to your VPS.

Getting Started

1. Connect to Your VPS

bash
ssh root@your-vps-ip

2. Switch to the erxes User

Change the password for the erxes system user, then switch to it:

bash
passwd erxes su erxes

All remaining configuration steps are performed as the erxes user.

3. Configure Nginx

Open the Nginx default site configuration and replace every occurrence of YOUR_DOMAIN_COM with your actual domain name:

bash
nano /etc/nginx/sites-available/default

Save with Ctrl+X, then Y. Test the configuration for syntax errors:

bash
nginx -t

Expected output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Reload Nginx to apply the changes:

bash
systemctl reload nginx

4. Enable SSL with Let's Encrypt

Run Certbot to obtain and configure an SSL certificate for your domain:

bash
certbot --nginx

When prompted:

  • Enter your email address
  • Accept the Terms of Service
  • Select your domain (usually option 1)
  • Choose option 2 to redirect all HTTP traffic to HTTPS

5. Configure PM2 (ecosystem.config.js)

Replace YOUR_DOMAIN_COM with your actual domain name in the PM2 ecosystem file. For example, if your domain is erxes.example.com:

bash
cd ~/erxes.io sed -i 's/YOUR_DOMAIN_COM/erxes.example.com/g' ecosystem.config.js

6. Configure Frontend Environment Variables

Open the frontend environment file:

bash
nano ~/erxes.io/erxes/js/env.js

Replace the placeholder values inside window.env = { } with your actual domain:

javascript
window.env = { NODE_ENV: "production", REACT_APP_API_URL: "https://erxes.example.com/api", REACT_APP_API_SUBSCRIPTION_URL: "wss://erxes.example.com/api/subscriptions", REACT_APP_CDN_HOST: "https://erxes.example.com/widgets" }

Save with Ctrl+X, then Y.

7. Export the MongoDB URL

Open ecosystem.config.js to retrieve the MongoDB connection string:

bash
cd ~/erxes.io nano ecosystem.config.js

Locate the MONGO_URL value under erxes-api. It will look similar to:

mongodb://erxes:GENERATED_PASSWORD@localhost/erxes?authSource=admin&replicaSet=rs0

Copy the full URL, exit the editor, then export it as an environment variable:

bash
export MONGO_URL="your-copied-mongo-url-here"

8. Initialize Erxes and Generate the Admin Password

Load the Node.js version manager and run the initialization command:

bash
source ~/.nvm/nvm.sh nvm use default cd ~/erxes.io/erxes-api/dist node commands/initProject

The output will display a generated administrator password. Note it down:

Your new password: HcEjfBMxws

9. Load Permissions and Start Services

bash
cd ~/erxes.io/erxes-api/dist node commands/loadPermissionData cd ~/erxes.io pm2 restart ecosystem.config.js

10. Log In

Open a browser and navigate to your domain. Log in with:

Important Paths

ItemPath
PM2 ecosystem config~/erxes.io/ecosystem.config.js
Frontend env~/erxes.io/erxes/js/env.js
Nginx site config/etc/nginx/sites-available/default

Useful Commands

bash
# Check running processes pm2 list # View erxes logs pm2 logs # Restart all services pm2 restart ecosystem.config.js # Reload Nginx systemctl reload nginx

Support Details

Resources

New apps added every week

Subscribe to get notified when we launch new 1-click apps — from AI tools to databases and developer stacks.

Browse marketplace

More apps

Strapi

Strapi gives developers the freedom to use their favorite tools and frameworks while allowing editors to manage and distribute their content using an intuitive admin interface.

Read more

Bitwarden

Bitwarden is an open-source password management platform that lets you securely store, share, and sync passwords and sensitive data across all your devices.

Read more