PM2M Docker: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 30: | Line 30: | ||
# ------------------------------- |
# ------------------------------- |
||
docker rm -f |
docker rm -f influxdb_for_iot |
||
docker rm -f |
docker rm -f mongodb_for_iot |
||
docker rm -f |
docker rm -f nodered_for_iot |
||
docker rm -f |
docker rm -f grafana_for_iot |
||
docker rm -f |
docker rm -f chronograf_for_iot |
||
rm -fr influxdb mongo grafana chronograf |
rm -fr influxdb mongo grafana chronograf |
||
Line 44: | Line 44: | ||
mkdir influxdb |
mkdir influxdb |
||
docker pull influxdb |
docker pull influxdb |
||
docker run -d --name |
docker run -d --name influxdb_for_iot \ |
||
-p 8086:8086 \ |
-p 8086:8086 \ |
||
-p 8083:8083 \ |
-p 8083:8083 \ |
||
Line 53: | Line 53: | ||
# MongoDB |
# MongoDB |
||
# ------------------------------- |
# ------------------------------- |
||
docker run -d --name |
docker run -d --name mongodb_for_iot \ |
||
-p 27017:27017 \ |
-p 27017:27017 \ |
||
mongo |
mongo |
||
Line 63: | Line 63: | ||
LOCALDIR=$(pwd) |
LOCALDIR=$(pwd) |
||
docker run -d --name |
docker run -d --name nodered_for_iot \ |
||
-v $LOCALDIR:/data \ |
-v $LOCALDIR:/data \ |
||
-p $NODERED_WEB_PORT:1880 \ |
-p $NODERED_WEB_PORT:1880 \ |
||
Line 88: | Line 88: | ||
# ------------------------------- |
# ------------------------------- |
||
docker run -d --name |
docker run -d --name grafana_for_iot \ |
||
-p $GF_PORT:3000 \ |
-p $GF_PORT:3000 \ |
||
--add-host=influxdb-1:$LOCAL_HOST \ |
--add-host=influxdb-1:$LOCAL_HOST \ |
||
Line 100: | Line 100: | ||
mkdir chronograf |
mkdir chronograf |
||
docker run -d --name |
docker run -d --name chronograf_for_iot \ |
||
-p 18888:8888 \ |
-p 18888:8888 \ |
||
--add-host=influxdb-1:$LOCAL_HOST \ |
--add-host=influxdb-1:$LOCAL_HOST \ |
||
Line 109: | Line 109: | ||
# Logs |
# Logs |
||
# ------------------------------- |
# ------------------------------- |
||
docker logs --follow |
docker logs --follow nodered_for_iot |
||
tail -f logfile.txt |
tail -f logfile.txt |
||
Line 116: | Line 116: | ||
# ------------------------------- |
# ------------------------------- |
||
docker stop |
docker stop influxdb_for_iot |
||
docker stop |
docker stop mongodb_for_iot |
||
docker stop |
docker stop nodered_for_iot |
||
docker stop |
docker stop grafana_for_iot |
||
docker stop |
docker stop chronograf_for_iot |
||
docker start |
docker start influxdb_for_iot |
||
docker start |
docker start mongodb_for_iot |
||
docker start |
docker start nodered_for_iot |
||
docker start |
docker start grafana_for_iot |
||
docker start |
docker start chronograf_for_iot |
||
</pre> |
</pre> |
Revision as of 13:54, 6 March 2018
1) Installer Docker sur votre machine
2) Lancer les containers Docker suivant
# NodeRED app for collect sensors data name_to_ipaddress(){ ifconfig | grep "inet " |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' | grep -v "127.0.0.1" | head -1 } NODERED_WEB_PORT=1880 NODERED_ADMIN_PASSWORD="MUST_BE_CHANGED" # Note : Password can be crypt and set into settings.js with node-red-admin hash-pw GF_PORT=3600 GF_PASSWORD="MUST_BE_CHANGED" MQTT_BROKER_1=mqtt01 MQTT_BROKER_2=mqtt02 MQTT_BROKER_1=test.mosquitto.org MQTT_BROKER_2=test.mosquitto.org LOCAL_HOST=$(name_to_ipaddress localhost) echo $LOCAL_HOST # ------------------------------- # Clean # ------------------------------- docker rm -f influxdb_for_iot docker rm -f mongodb_for_iot docker rm -f nodered_for_iot docker rm -f grafana_for_iot docker rm -f chronograf_for_iot rm -fr influxdb mongo grafana chronograf rm -f lib/flows/* # ------------------------------- # Influx DB # ------------------------------- mkdir influxdb docker pull influxdb docker run -d --name influxdb_for_iot \ -p 8086:8086 \ -p 8083:8083 \ -v influxdb:/var/lib/influxdb \ influxdb # ------------------------------- # MongoDB # ------------------------------- docker run -d --name mongodb_for_iot \ -p 27017:27017 \ mongo # ------------------------------- # Influx DB # ------------------------------- docker pull nodered/node-red-docker LOCALDIR=$(pwd) docker run -d --name nodered_for_iot \ -v $LOCALDIR:/data \ -p $NODERED_WEB_PORT:1880 \ --add-host=influxdb-1:$LOCAL_HOST \ --add-host=mongodb-1:$LOCAL_HOST \ -e FLOWS=lora.flow.json \ -e NODE_OPTIONS="--max_old_space_size=128" \ nodered/node-red-docker npm install node-red-contrib-influxdb npm install node-red-node-mongodb npm install node-red-contrib-pubnub npm install node-red-contrib-ifttt npm install node-red-contrib-kafka-node npm install node-red-contrib-web-worldmap npm install -g node-red-admin node-red-admin target http://localhost:$PORT node-red-admin list node-red-admin install node-red-contrib-influxdb # ------------------------------- # Grafana # ------------------------------- docker run -d --name grafana_for_iot \ -p $GF_PORT:3000 \ --add-host=influxdb-1:$LOCAL_HOST \ -e "GF_SECURITY_ADMIN_PASSWORD=$GF_PASSWORD" \ grafana/grafana # ------------------------------- # Chronograf # ------------------------------- mkdir chronograf docker run -d --name chronograf_for_iot \ -p 18888:8888 \ --add-host=influxdb-1:$LOCAL_HOST \ -v chronograf:/var/lib/chronograf \ chronograf # ------------------------------- # Logs # ------------------------------- docker logs --follow nodered_for_iot tail -f logfile.txt # ------------------------------- # Stop then Start # ------------------------------- docker stop influxdb_for_iot docker stop mongodb_for_iot docker stop nodered_for_iot docker stop grafana_for_iot docker stop chronograf_for_iot docker start influxdb_for_iot docker start mongodb_for_iot docker start nodered_for_iot docker start grafana_for_iot docker start chronograf_for_iot