Local-Connectivity-Lab / ccn-coverage-vis

Visualizations of coverage and performance analysis for Community Cellular Networks.
2 stars 2 forks source link

ccn-coverage-vis

Visualizations of coverage and performance analysis for Community Cellular Networks.

Now hosted on https://coverage.seattlecommunitynetwork.org/

Initial Setup

To install this service, the fist time, you will need to:

  1. Required tools and versions:
    1. Install node and npm according to the directions at https://nodejs.org/en/download/package-manager
    2. Install pm2 using: npm install pm2 -g (as per https://www.npmjs.com/package/pm2#installing-pm2)
  2. Clone the service: https://github.com/Local-Connectivity-Lab/ccn-coverage-vis
  3. Configure:
    1. cd cd ccn-coverage-vis
    2. Edit src/utils/config.ts and set the correct URL for your API host (if you're testing or you're deploying to a new URL).
  4. Deploy as below.
  5. When starting the ccn-coverage-vis service the first time, use:
    pm2 start --name "Vis Server" npm -- run start

    This will register ccn-coverage-vis with PM2.

Deploying

Once the service has been setup (as above), it can be deployed using the following process:

  1. Login to the coverage-host
  2. Pull the lastest version from github
  3. Restart the service

The shell commands are:

ssh coverage-host
cd ccn-coverage-vis
git pull
npm install
npm run build
pm2 restart Vis Server 

Troubleshooting & Recovery

When a problem occurs, there are several checks to determine where the failure is:

  1. Check HTTP errors in the browser
  2. Login to the coverage-host
  3. Confirm ccn-coverage-vis is operating as expected
  4. Confirm nginx is operating as expected

Checking HTTP errors in the browser

First, open your browser and go to: https://coverage.seattlecommunitynetwork.org/

Is it working?

If not, open up the browser Web Developer Tools, usually under the menu Tools > Developer Tools > Web Developer Tools.

With this panel open at the bottom of the screen select the Network tab and refresh the browser page.

Look in the first column, Status:

Checking ccn-coverage-vis with pm2

Next, confirm ccn-coverage-vis is operating as expected. To do this, you will need to be able to log into the server hosting the coverage service.

Use pm2 list to confirm the "Vis Server" is online

ssh coverage-host
pm2 list

Online services under PM2

If the "Vis Server" is not online as expected, restart it with:

pm2 restart Vis Server

Checking nginx

If there appear problems with nginx, then check that the

Check service operation:

systemctl status nginx

Check nginx logs:

sudo tail /var/log/nginx/error.log

Sources of errors might include nginx configuration in /etc/nginx/conf.d/01-ccn-coverage.conf

If you need to restart nginx, use:

sudo systemctl restart nginx

Clean Recovery

If nothing else works, the last option is a clean reinstall of the service. The process is:

Testing

Changes to the main branch are automically built and deployed to: https://seattlecommunitynetwork.org/ccn-coverage-vis/

Once changes have been validated, they can be deployed with:

ssh coverage-api.westus2.cloudapp.azure.com
cd ccn-coverage-vis/
git switch main
git stash
git pull
npm install

Issues

TODOs

Maybe