From 42248456d85af73f237dabf083b50df729ae0a3a Mon Sep 17 00:00:00 2001 From: DasMoorhuhn Date: Thu, 30 May 2024 17:26:54 +0200 Subject: [PATCH] it can now run in a docker container. YEEEY --- Dockerfile | 16 ++++++++++++++++ README.md | 11 +++++++++++ docker/docker-compose.yml => docker-compose.yml | 3 ++- docker/Dockerfile | 2 -- python/docker_entrypoint.sh | 8 ++++++++ run_docker.sh | 9 +++++++++ 6 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 Dockerfile rename docker/docker-compose.yml => docker-compose.yml (83%) delete mode 100644 docker/Dockerfile create mode 100644 python/docker_entrypoint.sh create mode 100644 run_docker.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a474eea --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.12 + +WORKDIR = /src + +COPY python/src/ . +COPY python/requierements.txt . +COPY python/docker_entrypoint.sh / + +RUN mkdir data + +RUN apt-get update && \ + apt-get install -y bluez sudo + +RUN pip3.12 install -r requierements.txt && rm -f requierements.txt + +ENTRYPOINT sh /docker_entrypoint.sh \ No newline at end of file diff --git a/README.md b/README.md index 065c8ef..d5827c5 100644 --- a/README.md +++ b/README.md @@ -41,3 +41,14 @@ Run Gateway cd python/src sudo python3 main.py ``` + +### Docker + +Build docker container +```bash +docker-compose build +``` +Run docker container. Killing the hosts bluetooth service is needed to access it from the docker container. +```bash +sudo sh run_docker.sh +``` diff --git a/docker/docker-compose.yml b/docker-compose.yml similarity index 83% rename from docker/docker-compose.yml rename to docker-compose.yml index 08aaafb..2f47bf8 100644 --- a/docker/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,7 @@ -version: '3.3' +version: '3' services: atc_mithermometer_gateway: image: atc-mithermometer-gateway:develop container_name: ATC_MiThermometer_Gateway + build: . \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile deleted file mode 100644 index ba91409..0000000 --- a/docker/Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -FROM python:3.12-alpine3.20 - diff --git a/python/docker_entrypoint.sh b/python/docker_entrypoint.sh new file mode 100644 index 0000000..b4a9ea2 --- /dev/null +++ b/python/docker_entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +service dbus start +bluetoothd & + +/bin/bash + +sudo python3 main.py diff --git a/run_docker.sh b/run_docker.sh new file mode 100644 index 0000000..20f4df3 --- /dev/null +++ b/run_docker.sh @@ -0,0 +1,9 @@ +sudo killall -9 bluetoothd +docker stop atc-mithermometer-gateway:develop +docker run \ + --cap-add=SYS_ADMIN \ + --cap-add=NET_ADMIN \ + --net=host \ + -v /var/run/dbus/:/var/run/dbus/ \ + -v /path/to/data:/src/data \ + atc-mithermometer-gateway:develop \ No newline at end of file