Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
FROM node:12.20.0-alpine3.12

# Expose the port
EXPOSE 8008

# Install git
RUN apk add git

# Install pm2
RUN npm install pm2 -g

# Installing log rotation
RUN pm2 install pm2-logrotate

# Set working directory to /usr/server

# Set directory
VOLUME [ "./logs" ]

# Copy dependency files
COPY package.json .
COPY yarn.lock .

# Install and build
RUN yarn install --ignore-scripts

# Project files
COPY src src/
COPY config.json .
COPY pm2.json .

# Build project files copied
RUN yarn build.lib

CMD [ "pm2-runtime", "pm2.json" ]
41 changes: 18 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,32 +38,27 @@

To launch the reports server, just type `yarn start`.

You can also build the server code by running `yarn build`, which puts its output in the `lib` folder. You can then use `forever-service` or similar tools to install the software on your server machine.
You can also build the server code by running `yarn build`, which puts its output in the `lib` folder. You can then use `PM2` or similar tools to install the software on your server machine.

```sh

# install forever-service:
sudo npm i -global forever
sudo npm i -global forever-service

# install:
cd edge-reports-server
sudo forever-service install reportsQuery --script lib/indexEngine.js --start
sudo forever-service install reportsRates --script lib/indexRatesEngine.js --start
sudo forever-service install reportsApi --script lib/indexApi.js --start

# manage:
sudo service reportsQuery restart
sudo service reportsQuery stop
sudo service reportsRates restart
sudo service reportsRates stop
sudo service reportsApi restart
sudo service reportsApi stop

# uninstall:
sudo forever-service delete reportsQuery
sudo forever-service delete reportsRates
sudo forever-service delete reportsApi
#### Launch server using `PM2`

pm2 start pm2.json

#### `PM2` Dashboard

pm2 monit

#### Restart, stop, delete service

Or run tasks manually,

pm2 stop pm2.json

pm2 restart pm2.json

pm2 delete pm2.json
```

## Demo app
Expand Down
7 changes: 7 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
services:
infoserver:
image: edge-reports-server:latest
network_mode: host
volumes:
- ./logs:/usr/server/logs
container_name: edge-reports-server
9 changes: 9 additions & 0 deletions pm2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"apps": [{
"name": "edge-reports-server",
"script": "lib/indexApi.js",
"instances": "1",
"error_file": "logs/server/error.log",
"out_file": "logs/server/log.log"
}]
}