Hello 👋
Welcome to erxes, the open-source Hubspot alternative.
erxes is an open-source experience operating system (XOS) that enables SaaS providers and digital marketing agencies/developers to create unique experiences that work for all types of businesses. We will change how businesses grow by delivering breakthrough value to our community. Come along on this journey with us!
erxes is composed of 2 main components: XOS & Plugins
XOS: It contains the project’s core. You can find the admin panel and the code that runs different plugins. The operating system comes with utility features that allow users to customize, improve speed, and enhance the experience along with plugins/features.
Plugins: erxes comes with a set of plugins that allow you to create unique customer experiences. Below is a list of some plugins you can choose from our marketplace after you’ve finished installing erxes XOS:
Package | Version | License |
---|---|---|
Mongodb | 4.0.3 | |
Elasticsearch | 7.x | |
Nginx | 1.14.0 | |
NodeJS | 12.16.3 |
Click the Deploy to DigitalOcean button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.
In addition to creating a Droplet from the Erxes 1-Click App using the control panel, you can also use the DigitalOcean API. As an example, to create a 4GB Erxes Droplet in the SFO2 region, you can use the following curl
command. You need to either save your API access token) to an environment variable or substitute it in the command below.
curl -X POST -H 'Content-Type: application/json' \
-H 'Authorization: Bearer '$TOKEN'' -d \
'{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image": "nmtec-erxes-18-04"}' \
"https://api.digitalocean.com/v2/droplets"
Connect to your droplet via ssh.
ssh root@YOUR_DROPLET_PUBLIC_IP
YOUR_DROPLET_PUBLIC_IP
is your droplet public IP addressYOUR_DOMAIN_COM
with your actual domain name
in the nginx config file /etc/nginx/sites-available/default
.nano /etc/nginx/sites-available/default
nginx -t
You should see the following output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
systemctl reload nginx
Execute Certbot. You will asked several questions, you can answer as follows:
Yes
or No
, if you want to share your email address with the Electronic Frontier Foundation1
2
to redirect all your traffic to a secure HTTPScertbot --nginx
erxes
erxes
and switch to user erxes
.passwd erxes
su erxes
erxes
user.ecosystem.config.js
YOUR_DOMAIN_COM
with your actual domain name. Please use your domain
for your.domain.com
.cd ~/erxes.io
sed -i 's/YOUR_DOMAIN_COM/your.domain.com/g' ecosystem.config.js
~/erxes.io/erxes/js/env.js
file in the nano editor.nano ~/erxes.io/erxes/js/env.js
NODE_ENV: "production",
REACT_APP_API_URL: "https://YOUR_DOMAIN_COM/api",
REACT_APP_API_SUBSCRIPTION_URL: "wss://YOUR_DOMAIN_COM/api/subscriptions",
REACT_APP_CDN_HOST: "https://YOUR_DOMAIN_COM/widgets"
It should look like this, but with your actual domain name:
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"
}
ctrl + x
and then y
to accept all changes.You are now ready to initialize and load the permissions in erxes.
cd ~/erxes.io
nano ecosystem.config.js
Locate the “MONGO_URL”: “mongodb://erxes:82e3e42ef31e51d51687b366118200e2@localhost/erxes?authSource=admin&replicaSet=rs0”, under the erxes-api.
Example:
# example
# export MONGO_URL="mongodb://erxes:92c54fa1f0658xxxxc2d9ce618b008b4@localhost/erxes?authSource=admin&replicaSet=rs0"
Use your copied MONGO_URL below:
export MONGO_URL="YOUR_COPIED_MONGO_URL_HERE"
source ~/.nvm/nvm.sh
nvm use default
cd ~/erxes.io/erxes-api/dist
node commands/initProject
You should have a generated password. The output will be similar to this:
Your new password: HcEjfBMxws
# note this down
cd ~/erxes.io/erxes-api/dist
node commands/loadPermissionData
cd ~/erxes.io
pm2 restart ecosystem.config.js
You may now visit your domain, and log in.
The username is admin@erxes.io, and the password is the password generated above.