Setup
Make sure you have node.js and npm installed.
For development:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash
source .bashrc
nvm install iojs
nvm alias default iojs
or on the production server:
curl -L https://iojs.org/dist/v2.3.0/iojs-v2.3.0-linux-x64.tar.xz | sudo tar -C /usr/local --strip-components 1 -xJf -
OR
sudo tar -C /usr/local --strip-components 1 -xf iojs-v2.3.0-linux-x64.tar.xz
You will also need redis, MongoDB and Couchbase for adp-push service to run.
yum install redis
yum install mongodb-org
npm install strongloop bower browserify uglifyjs -g
npm install
firewall-cmd --zone=public --add-port=3010/tcp --permanent
firewall-cmd --zone=public --add-port=1883/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=1880/tcp --permanent
firewall-cmd --zone=public --add-port=4443/tcp --permanent
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --zone=public --add-port=8883/tcp --permanent
firewall-cmd --zone=public --add-port=8884/tcp --permanent
firewall-cmd --zone=public --add-port=1936/tcp --permanent
firewall-cmd --reload #OR service firewalld restart
# OR via iptables
iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 1880 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 4443 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 3000 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 8883 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 8884 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 1936 -j ACCEPT
service iptables save
Generate frontend services file:
lb-ng -u /api server/server.js client/lb-services.js
Configure
edit server/config.json
edit server/datasources.json
Build & Deploy
see http://docs.strongloop.com/display/SLC/Installing+dependencies
npm install -g strong-pm
sudo env "PATH=$PATH" sl-pm-install --systemd
sudo /usr/bin/systemctl start strong-pm
slc build
slc deploy http://your.remote.host
on the server you should:
yum install group "Development Tools"
npm install -g strong-pm
sudo sl-pm-install --systemd
sudo /usr/bin/systemctl start strong-pm
Run
Use ./start
bash script inside the app or
slc start --no-profile
And to gracefully restart the server:
slc ctl cluster-restart
Add Users
./addUser [user] [pass] [sub_topic] [pub_topic]
Eg.
./addUser admin admini app/mellat-*/user/*/* app/adp-nms-push/*/*/*
Debug
DEBUG='loopback:component:push:*' slc run --no-profile