Mainflux.mainflux/dashflux/README.md

2.8 KiB

Mainflux UI Dashboad

Mainflux UI, dashboard for Mainflux Industrial IoT Messaging and Device Management Server.

N.B. Mainflux UI service is WIP and not suitable for deployment at this moment. You are welcome to contribute and improve it.

Development

Requirements

You'll need the following software installed to get started.

  • Node 6 or higher, we recommend current LTS version, together with NPM 3 or higher.
  • Angular-cli Newest version with Webpack integration
    • Depending on how Node is configured on your machine, you may need to run installation command with sudo
  • Git: Use the installer for your OS.
  • For local Development with Mainflux composition running locally, Chrome extension for Cross origin is required. Because composition is running on different port then our Angular app, we have cross origin.

Configuration

Change into the directory.

cd dashflux

Install the dependencies. If you're running Mac OS or Linux, you may need to run sudo npm install instead, depending on how your machine is configured.

npm install

Set appropriate endpoint URLs in environment.ts (for local development will probably be 0.0.0.0:<port>) or environment.prod.ts for production.

To start the server, run:

ng serve

This will run and assemble our app. Now go to localhost:4200 in your browser to see it in action.

Deployment

Dashflux is distributed as Docker container. We use nginx to serve dashflux from docker container, supporting environments using docker multi-stage builds. Dashflux docker image is available on Dockerhub mainflux/dashflux

If you want to build image locally, you can build image using the development environment:

docker build -f docker/Dockerfile  -t dashflux:dev --build-arg env=dev .

Build image using the production environment:

docker build -t dashflux:prod -f ./docker/Dockerfile .

Note: before running docker build command, please make sure appropriate endpoint URLs in environment.ts or environment.prod.ts are set up.

You can test image running

docker run -p 80:80 dashflux:dev

This will run dashflux in docker container.

Now go to http://localhost in your browser to see it in action.