|
@@ -1,4 +1,4 @@
|
|
|
-# not using python:3.*-alpine cause glib-dev package depends python3
|
|
|
+# not using python:3.*-alpine cause glib-dev package depends on python3
|
|
|
# https://pkgs.alpinelinux.org/package/v3.11/main/aarch64/glib-dev
|
|
|
FROM alpine:3.11
|
|
|
|
|
@@ -8,18 +8,23 @@ RUN apk add --no-cache \
|
|
|
make \
|
|
|
musl-dev \
|
|
|
tini
|
|
|
+# TODO merge
|
|
|
+RUN apk add --no-cache py3-virtualenv
|
|
|
|
|
|
-RUN pip3 install pipenv
|
|
|
+#RUN apk add bluez-deprecated `# hcitool`
|
|
|
+
|
|
|
+USER nobody
|
|
|
|
|
|
ARG SOURCE_DIR_PATH=/switchbot-mqtt
|
|
|
ARG SWITCHBOT_MQTT_VERSION=
|
|
|
-COPY . $SOURCE_DIR_PATH
|
|
|
+COPY --chown=nobody . $SOURCE_DIR_PATH
|
|
|
WORKDIR $SOURCE_DIR_PATH
|
|
|
-ENV PIPENV_VENV_IN_PROJECT=yeah
|
|
|
-RUN SETUPTOOLS_SCM_PRETEND_VERSION=$SWITCHBOT_MQTT_VERSION pipenv install --deploy --verbose
|
|
|
+RUN virtualenv --no-site-packages .venv \
|
|
|
+ && source .venv/bin/activate \
|
|
|
+ && pip install --no-cache-dir pipenv \
|
|
|
+ && SETUPTOOLS_SCM_PRETEND_VERSION=$SWITCHBOT_MQTT_VERSION pipenv install --deploy --verbose \
|
|
|
+ && pipenv clean --verbose
|
|
|
|
|
|
ENV PATH=$SOURCE_DIR_PATH/.venv/bin:$PATH
|
|
|
ENTRYPOINT ["tini", "--"]
|
|
|
CMD ["switchbot-mqtt"]
|
|
|
-
|
|
|
-#RUN apk add bluez-deprecated `# hcitool`
|