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