For detailed deployment instructions please see https://confluence.aps.anl.gov/display/APSUCMS/Developer+Guide+for+the+Traveler+Module
Deployment of the traveler module:
# Make a new directory to hold the traveler module and its support
mkdir traveler
cd traveler
git clone https://github.com/AdvancedPhotonSource/traveler.git distribution
cd distribution
# Install all of the support software
make support
# Automate configuration of the application
make default-config
# Navigate to configuration directory
cd ../etc/traveler-config
# End of output from make dev-config has a list of file(s) that need to be edited
nano ad.json
Starting the traveler module:
# Navigate to the distirbution of the traveler module
# When using the support mongodb, start the mongodb part of support
./etc/init.d/traveler-mongodb start
# It is good to start the project using node to make sure everything works properly.
source setup.sh
node app.js
# When everything works, start traveler as daemon
./etc/init.d/traveler-webapp start
# Check progress of traveler-webapp
./etc/init.d/traveler-webapp status
Installing docker version (not for production use, but good for development and evaluation)
- centos docker install (centos) https://docs.docker.com/install/linux/docker-ce/centos/
- uninstall old docker versions
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine- install docker CE
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce sudo systemctl start docker- test docker install
sudo docker run hello-world- configure docker to start on boot
sudo systemctl enable docker- install docker-compose https://docs.docker.com/compose/install/
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose- test docker-compose
sudo docker-compose --version - create docker network for running traveler related apps
sudo docker network create -d bridge --subnet 172.18.1.0/24 traveler-dev - install dependencies
- traveler-mongo https://github.com/dongliu/traveler-mongo
- clone git repo
git clone https://github.com/dongliu/traveler-mongo.git (to e.g., ~/git/traveler)- run traveler-mongo
sudo docker-compose up- access mongo express at http://localhost:8081. The username is traveler, and password is travelerpass.
- traveler-ldap https://github.com/dongliu/traveler-ldap
- clone git repo
git clone https://github.com/dongliu/traveler-ldap.git- run
sudo docker-compose up- test
- You can check the state of the openladp service via the php ldap admin web https://localhost:6443. There is a default admin account that you can use to log in user name: cn=admin,dc=example,dc=org password: admin
- traveler-mongo https://github.com/dongliu/traveler-mongo
- install traveler https://github.com/AdvancedPhotonSource/traveler
- clone git repo
git clone https://github.com/AdvancedPhotonSource/traveler.git- to run and test
- must “sudo docker-compose up” traveler-mongo and traveler-ldap as described above first
sudo docker-compose up- URL to run traveler is https://localhost:3001
- find a user login in the ldap file traveler-ldap/seed/traveler.ldif
prettier is configured in prettier.config.js and .prettierignore, and hooked with git at package.json. The prettier will process for js, json, css, and md files when the hooked action is triggered via husky. The prettier can be run mannually as
./node_modules/prettier/bin-prettier.js --config ./prettier.config.js --write {.,config/**,lib/**,model/**,public/javascripts/**,public/stylesheets/**,routes/**,test/**,utilities/**}/*.{js,json,css,md} .
Recommend to use ESLint to lint the code before committing. The ESLint configuration file is .eslintrc.