For development:
- NodeJS v10 or greater
- NPM
For deploy:
- Docker:
- Docker
- Docker compose
- PM2
- Nginx
- PM2 process manager
Run project with live reload
npm run development
Run tests
npm run test
npm run integration-test
npm run unit-test
Deploy solution with reverse proxy on docker instance with docker compose
docker-compose up
Every instance are going to work on port 3000 by default, it's recommended to use a reverse proxy server like Nginx, using Nginx it's recommended to remove compression from code.
Nginx config example
server {
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Start
pm2 start ecosystem.config.yaml --env production
Restart
pm2 start ecosystem.config.yaml --env production
Stop
pm2 stop paycheck-module
Delete (first stop instances)
pm2 delete paycheck-module