Nodewatcher initial setup

A project log for MeshPoint - wifi router for humanitarian crisis

Autonomous, smart, wifi mesh router which is easy to use by humanitarian NGO first responders during humanitarian or natural disasters.

Robert MarkoRobert Marko 07/24/2017 at 12:400 Comments

Nodewatcher is a platform that we use for easy creation, configuration, firmware generation and monitoring from the web browser.

In order to run Nodewatcher Docker and Docker-compose are required, instructions for their installation can be found here.

Preferred OS for running Nodewatcher is Ubuntu/Debian and rest of Debian based distributions.

  1. git clone
  2. cd nodewatcher
  3. Edit docker-compose.yml
    Configure DB username and password to something other than the default.
    Change InfluxDB and PostgreSQL DB paths to preserve changes even after a reboot since by default tmp is used.
    Configure image builders to include your own custom built ones or you can use pre-built ones from here .
    Also changing private and public key pair is recommended.
  4. Run sudo docker-compose pull
    This step will pull are required docker images.
  5. Run sudo docker-compose build
    This step will build web and generator docker containers with required Python packages.
  6. cd nodewatcher and edit to suit you.
    This file handles most of the customizations.
  7. Run sudo docker-compose up
    This step will start all docker containers.
  8. In another terminal run sudo docker-compose run web python migrate
    This will make the required database migrations so Django apps can function properly.
  9. Run sudo docker-compose run web python collectstatic -l
    This will compile SCSS into CSS.
  10. Open your browser and go to http://localhost:8000/setup
    Replace localhost with correct IP.
    This will enable you to create an administrator account.
  11. Further configuration will be done from http://localhost:8000/admin/
    Replace localhost with correct IP.

    Now you have running but not configured Nodewatcher instance.
    The further configuration will be contained in another project log.