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
- Follow angular-cli documentation
- Follow official angular style guide
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
- Depending on how Node is configured on your machine, you may need to run installation command with
- Git: Use the installer for your OS.
- Windows users can also try Git for Windows.
- 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.