changeset 1188:afd19bf8b499

various docker setups and build fixes Ignore-this: adb559337fa1bd058818d1fc99d80ac1 darcs-hash:9aa24b30a2d3eab3676b85d2aa686d6ef24b5717
author drewp <drewp@bigasterisk.com>
date Fri, 28 Dec 2018 02:13:15 -0800
parents 2ceb776a5f1b
children c1cf544711da
files service/arduinoNode/Dockerfile service/arduinoNode/makefile service/audioInputLevels/Dockerfile service/audioInputLevels/Dockerfile.pi service/beacon/Dockerfile service/beacon/Dockerfile.pi service/beacon/makefile service/beacon/requirements.txt service/bluetoothButtons/Dockerfile service/bluetoothButtons/Dockerfile.pi service/bluetoothButtons/makefile service/bluetoothButtons/requirements.txt service/dpms/Dockerfile service/dpms/Dockerfile.pi service/dpms/makefile service/dpms/pydeps service/dpms/requirements.txt service/tomatoWifi/Dockerfile service/tomatoWifi/makefile service/tomatoWifi/requirements.txt service/tomatoWifi/tomatoWifi.py service/wallscreen/pydeps
diffstat 22 files changed, 204 insertions(+), 40 deletions(-) [+]
line wrap: on
line diff
--- a/service/arduinoNode/Dockerfile	Fri Dec 28 01:56:52 2018 -0800
+++ b/service/arduinoNode/Dockerfile	Fri Dec 28 02:13:15 2018 -0800
@@ -1,12 +1,11 @@
-FROM alpine:3.7
+FROM bang6:5000/base_x86
 
 WORKDIR /opt
-RUN apk add --no-cache gcc build-base jpeg-dev lapack-dev libffi-dev linux-headers musl-dev openssl-dev py2-cffi py2-numpy py2-numpy-f2py py2-pip python2 python2-dev indent 
 
 COPY requirements.txt ./
-RUN pip download --cache-dir /tmp/pip-cache -r requirements.txt
-RUN pip install --cache-dir /tmp/pip-cache -r requirements.txt
+RUN pip install -r requirements.txt
 
+COPY arduino-libraries/ ./arduino-libraries/
 COPY *.py ./
 COPY static/ ./static/
 
--- a/service/arduinoNode/makefile	Fri Dec 28 01:56:52 2018 -0800
+++ b/service/arduinoNode/makefile	Fri Dec 28 02:13:15 2018 -0800
@@ -4,10 +4,10 @@
 	docker push bang6:5000/arduino_node
 
 shell:
-	docker run -it --net=host bang6:5000/arduino_node  /bin/sh
+	docker run -it --net=host -v `pwd`/config:/opt/config bang6:5000/arduino_node  /bin/bash
 
 local_run:
 	docker run -it -p 9059:9059 --device=/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900cepU-if00-port0 --net=host bang6:5000/arduino_node python ./arduinoNode.py -v
 
 push_config:
-	bin/python pushConfig.py arduino/
+	docker run -it --net=host -v `pwd`/config:/opt/config bang6:5000/arduino_node python pushConfig.py arduino/
--- a/service/audioInputLevels/Dockerfile	Fri Dec 28 01:56:52 2018 -0800
+++ b/service/audioInputLevels/Dockerfile	Fri Dec 28 02:13:15 2018 -0800
@@ -2,7 +2,7 @@
 
 WORKDIR /opt
 
-RUN apt-get install --yes libpulse0
+RUN apt-get install --yes libpulse0 pulseaudio-utils
 COPY requirements.txt ./
 RUN pip install -r requirements.txt
 
--- a/service/audioInputLevels/Dockerfile.pi	Fri Dec 28 01:56:52 2018 -0800
+++ b/service/audioInputLevels/Dockerfile.pi	Fri Dec 28 02:13:15 2018 -0800
@@ -2,7 +2,7 @@
 
 WORKDIR /opt
 
-RUN apt-get install --yes libpulse0
+RUN apt-get install --yes libpulse0 pulseaudio-utils
 COPY requirements.txt ./
 RUN pip install -r requirements.txt
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/beacon/Dockerfile	Fri Dec 28 02:13:15 2018 -0800
@@ -0,0 +1,17 @@
+FROM bang6:5000/base_x86
+
+WORKDIR /opt
+
+RUN apt-get install -y bluez libbluetooth-dev
+
+# pi may need pi-bluetooth pkg too
+
+COPY requirements.txt .
+
+RUN pip install -r requirements.txt
+
+COPY *.py *.html *.js ./
+
+EXPOSE 9113
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/beacon/Dockerfile.pi	Fri Dec 28 02:13:15 2018 -0800
@@ -0,0 +1,16 @@
+FROM bang6:5000/base_pi
+
+WORKDIR /opt
+
+RUN apt-get install -y bluez libbluetooth-dev
+
+# pi may need pi-bluetooth pkg too
+
+COPY requirements.txt .
+
+RUN pip install -r requirements.txt
+
+COPY *.py *.html *.js ./
+
+EXPOSE 9113
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/beacon/makefile	Fri Dec 28 02:13:15 2018 -0800
@@ -0,0 +1,13 @@
+build_image:
+	docker build --network=host -t bang6:5000/beacon_x86:latest .
+	docker push bang6:5000/beacon_x86:latest
+
+build_image_pi:
+	docker build --file Dockerfile.pi --network=host -t bang6:5000/beacon_pi:latest .
+	docker push bang6:5000/beacon_pi:latest
+
+shell:
+	docker run --rm -it --cap-add SYS_PTRACE --net=host bang6:5000/beacon_x86:latest  /bin/sh
+
+local_run:
+	docker run --rm -it -p 10004:10004 --net=host bang6:5000/beacon_x86:latest
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/beacon/requirements.txt	Fri Dec 28 02:13:15 2018 -0800
@@ -0,0 +1,12 @@
+# rssiscan
+PyBluez==0.22
+python-dateutil==2.5.3
+pymongo==3.2.2
+influxdb==3.0.0
+repoze.lru==0.6
+
+# beaconmap
+arrow==0.8.0
+cyclone==1.1
+
+
--- a/service/bluetoothButtons/Dockerfile	Fri Dec 28 01:56:52 2018 -0800
+++ b/service/bluetoothButtons/Dockerfile	Fri Dec 28 02:13:15 2018 -0800
@@ -1,9 +1,9 @@
 FROM bang6:5000/base_x86
 
-
+WORKDIR /opt
 
 COPY requirements.txt ./
-RUN pip install -r requirements.txt
+RUN pip3 install -r requirements.txt
 
 ADD https://projects.bigasterisk.com/rdfdb/more.tgz ./
 RUN tar xvzf more.tgz
@@ -12,4 +12,4 @@
 
 EXPOSE 11012
 
-CMD [ "python", "./bluetooth_buttons.py" ]
+CMD [ "python3", "./bluetooth_buttons.py" ]
--- a/service/bluetoothButtons/Dockerfile.pi	Fri Dec 28 01:56:52 2018 -0800
+++ b/service/bluetoothButtons/Dockerfile.pi	Fri Dec 28 02:13:15 2018 -0800
@@ -1,15 +1,15 @@
 FROM bang6:5000/base_pi
 
-RUN apt-get install --yes libxss-dev
+WORKDIR /opt
 
 COPY requirements.txt ./
-RUN pip install -r requirements.txt
+RUN pip3 install -r requirements.txt
 
 ADD https://projects.bigasterisk.com/rdfdb/more.tgz ./
 RUN tar xvzf more.tgz
 
 COPY *.py ./
 
-EXPOSE 9107
+EXPOSE 11012
 
-CMD [ "python", "./bluetooth_buttons.py" ]
+CMD [ "python3", "./bluetooth_buttons.py" ]
--- a/service/bluetoothButtons/makefile	Fri Dec 28 01:56:52 2018 -0800
+++ b/service/bluetoothButtons/makefile	Fri Dec 28 02:13:15 2018 -0800
@@ -9,7 +9,7 @@
 	docker push bang6:5000/bluetooth_buttons_pi:latest
 
 shell:
-	docker run --rm -it --cap-add SYS_PTRACE --net=host bang6:5000/bluetooth_buttons_x86:latest  /bin/sh
+	docker run --rm -it --cap-add SYS_PTRACE --net=host bang6:5000/bluetooth_buttons_x86:latest  /bin/bash
 
 local_run:
-	docker run --rm -it -p 9107:9107 --net=host bang6:5000/bluetooth_buttons_x86:latest python ./bluetooth_buttons.py -v
+	sudo docker run --rm -it --net=host --privileged -v /dev:/dev bang6:5000/bluetooth_buttons_x86:latest 
--- a/service/bluetoothButtons/requirements.txt	Fri Dec 28 01:56:52 2018 -0800
+++ b/service/bluetoothButtons/requirements.txt	Fri Dec 28 02:13:15 2018 -0800
@@ -7,3 +7,6 @@
 https://projects.bigasterisk.com/rdfdb/rdfdb-0.6.0.tar.gz
 rdflib-jsonld==0.3
 
+https://github.com/vpelletier/python-hidraw/archive/master.zip
+requests
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/dpms/Dockerfile	Fri Dec 28 02:13:15 2018 -0800
@@ -0,0 +1,14 @@
+FROM bang6:5000/base_x86
+RUN apt-get install -y x11-xserver-utils
+
+COPY requirements.txt ./
+RUN pip install -r requirements.txt
+
+ADD https://projects.bigasterisk.com/rdfdb/more.tgz ./
+RUN tar xvzf more.tgz
+
+COPY *.py ./
+
+EXPOSE 9095
+
+CMD [ "python", "./dpms_service.py" ]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/dpms/Dockerfile.pi	Fri Dec 28 02:13:15 2018 -0800
@@ -0,0 +1,14 @@
+FROM bang6:5000/base_pi
+RUN apt-get install -y x11-xserver-utils
+
+COPY requirements.txt ./
+RUN pip install -r requirements.txt
+
+ADD https://projects.bigasterisk.com/rdfdb/more.tgz ./
+RUN tar xvzf more.tgz
+
+COPY *.py ./
+
+EXPOSE 9095
+
+CMD [ "python", "./dpms_service.py" ]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/dpms/makefile	Fri Dec 28 02:13:15 2018 -0800
@@ -0,0 +1,16 @@
+build_image:
+	(cd /my/proj/homeauto/lib; tar czf /my/site/projects/rdfdb/more.tgz *.py)
+	docker build --network=host -t bang6:5000/dpms_x86:latest .
+	docker push bang6:5000/dpms_x86:latest
+
+build_image_pi:
+	(cd /my/proj/homeauto/lib; tar czf /my/site/projects/rdfdb/more.tgz *.py)
+	docker build --file Dockerfile.pi --network=host -t bang6:5000/dpms_pi:latest .
+	docker push bang6:5000/dpms_pi:latest
+
+
+shell:
+	docker run --rm -it --cap-add SYS_PTRACE -v /tmp/.X11-unix/:/tmp/.X11-unix/ -v /home/drewp/.Xauthority:/root/.Xauthority --net=host bang6:5000/dpms_x86:latest  /bin/sh
+
+local_run:
+	docker run --rm -it -v /tmp/.X11-unix/:/tmp/.X11-unix/ -v /home/drewp/.Xauthority:/root/.Xauthority -p 9095:9095 --net=host bang6:5000/dpms python ./dpms_service.py 
--- a/service/dpms/pydeps	Fri Dec 28 01:56:52 2018 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-bottle==0.10.9
-gunicorn==0.14.2
-isodate==0.4.8
-psutil==0.6.1
-python-dateutil==2.1
-rdflib==3.2.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/dpms/requirements.txt	Fri Dec 28 02:13:15 2018 -0800
@@ -0,0 +1,10 @@
+isodate==0.4.8
+python-dateutil
+rdflib==4.2.2
+twisted
+cyclone
+influxdb==4.1.1
+service_identity
+https://github.com/dirjud/python-dpms/archive/master.zip
+https://projects.bigasterisk.com/rdfdb/rdfdb-0.6.0.tar.gz
+rdflib-jsonld==0.3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/tomatoWifi/Dockerfile	Fri Dec 28 02:13:15 2018 -0800
@@ -0,0 +1,14 @@
+FROM bang6:5000/base_x86
+
+WORKDIR /opt
+
+RUN apt-get install -y libxml2-dev libxslt1-dev
+
+COPY requirements.txt ./
+RUN pip install -r requirements.txt
+
+COPY *.py *.n3 *.json *.html ./
+
+EXPOSE 9070
+
+CMD [ "python", "tomatoWifi.py" ]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/tomatoWifi/makefile	Fri Dec 28 02:13:15 2018 -0800
@@ -0,0 +1,21 @@
+JOB=wifi
+PORT=9070
+
+TAG=bang6:5000/${JOB}_x86:latest
+
+build_image:
+	rm -rf tmp_ctx
+	mkdir -p tmp_ctx
+	cp -a Dockerfile ../../lib/*.py *.py *.n3 *.json *.html req* tmp_ctx
+	docker build --network=host -t ${TAG} tmp_ctx
+	docker push ${TAG}
+	rm -r tmp_ctx
+
+shell:
+	docker run --rm -it --cap-add SYS_PTRACE --net=host ${TAG} /bin/bash
+
+local_run:
+	docker run --rm -it -p ${PORT}:${PORT} \
+          --net=host \
+          ${TAG} \
+          python tomatoWifi.py -v 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/tomatoWifi/requirements.txt	Fri Dec 28 02:13:15 2018 -0800
@@ -0,0 +1,13 @@
+docopt
+pymongo
+
+BeautifulSoup==3.2.1
+cyclone
+influxdb==3.0.0
+lxml==4.2.5
+pystache==0.5.2
+rdflib==4.2.2
+restkit==4.2.0
+web.py==0.37
+
+https://projects.bigasterisk.com/rdfdb/rdfdb-0.6.0.tar.gz
--- a/service/tomatoWifi/tomatoWifi.py	Fri Dec 28 01:56:52 2018 -0800
+++ b/service/tomatoWifi/tomatoWifi.py	Fri Dec 28 02:13:15 2018 -0800
@@ -15,7 +15,7 @@
 import sys, cyclone.web, json, traceback, time, pystache, datetime, logging
 import web.utils
 from cyclone.httpclient import fetch
-sys.path.append("/home/drewp/projects/photo/lib/python2.7/site-packages")
+
 from dateutil import tz
 from twisted.internet import reactor, task
 from twisted.internet.defer import inlineCallbacks
@@ -23,15 +23,14 @@
 from influxdb import InfluxDBClient
 from pymongo import Connection, DESCENDING
 from rdflib import Namespace, Literal, URIRef, ConjunctiveGraph
-sys.path.append("/my/site/magma")
+
 from stategraph import StateGraph
 from wifi import Wifi
-sys.path.append("/my/proj/homeauto/lib")
+
 from patchablegraph import PatchableGraph, CycloneGraphEventsHandler, CycloneGraphHandler
-sys.path.append("/my/proj/rdfdb")
+
 from rdfdb.patch import Patch
 
-sys.path.append("/my/proj/homeauto/lib")
 from cycloneerr import PrettyErrorHandler
 from logsetup import log
 
@@ -199,7 +198,7 @@
 
     # these need to move out to their own service
     def doEntranceMusic(self, action):
-        import restkit, jsonlib
+        import restkit, json
         dt = self.deltaSinceLastArrive(action['name'])
         log.debug("dt=%s", dt)
         if dt > datetime.timedelta(hours=1):
@@ -211,7 +210,7 @@
             del action['created']
             del action['_id']
             log.info("post to %s", hub)
-            hub.post("visitorNet", payload=jsonlib.dumps(action))
+            hub.post("visitorNet", payload=json.dumps(action))
 
     def deltaSinceLastArrive(self, name):
         results = list(self.mongo.find({'name' : name}).sort('created',
--- a/service/wallscreen/pydeps	Fri Dec 28 01:56:52 2018 -0800
+++ b/service/wallscreen/pydeps	Fri Dec 28 02:13:15 2018 -0800
@@ -1,14 +1,23 @@
-Twisted==12.3.0
-cyclone==1.0-rc15
-distribute==0.6.24
-ipdb==0.7
-ipython==0.13.1
+Automat==0.7.0
+cffi==1.11.5
+cyclone==1.0rc15
+enum34==1.1.6
+html5lib==1.0b3
+http-parser==0.8.3
+hyperlink==18.0.0
+idna==2.7
+incremental==17.5.0
+ipaddress==1.0.22
 isodate==0.4.9
-pyOpenSSL==0.13
+pycparser==2.18
+PyHamcrest==1.9.0
+pyOpenSSL==18.0.0
+pyparsing==1.5.7
 python-dateutil==2.1
 rdflib==4.0.1
-six==1.2.0
-zope.interface==4.0.3
+requests==2.9.1
+restkit==4.2.2
+SPARQLWrapper==1.5.2
+treq==15.1.0
+Twisted==18.7.0
 
-# from reasoning addTrig
-restkit==4.2.2