|
@@ -2,34 +2,34 @@
|
|
|
|
|
|
ARG BASE_IMAGE=alpine:3.11
|
|
|
ARG SOURCE_DIR_PATH=/systemctl-mqtt
|
|
|
-ARG VIRTUALENV_PATH=$SOURCE_DIR_PATH/.venv
|
|
|
|
|
|
|
|
|
FROM $BASE_IMAGE as build
|
|
|
|
|
|
RUN apk add --no-cache \
|
|
|
- dbus-dev \
|
|
|
- gcc \
|
|
|
- git `
|
|
|
- glib-dev `
|
|
|
- make `
|
|
|
- musl-dev `
|
|
|
- py3-virtualenv \
|
|
|
- python3-dev `
|
|
|
+ dbus-dev \
|
|
|
+ gcc \
|
|
|
+ git `
|
|
|
+ glib-dev `
|
|
|
+ make `
|
|
|
+ musl-dev `
|
|
|
+ py3-certifi `
|
|
|
+ py3-virtualenv `
|
|
|
+ python3-dev `
|
|
|
+ && adduser -S build
|
|
|
+
|
|
|
+USER build
|
|
|
+RUN pip3 install --user --no-cache-dir pipenv==2020.6.2
|
|
|
|
|
|
ARG SOURCE_DIR_PATH
|
|
|
-RUN mkdir $SOURCE_DIR_PATH \
|
|
|
- && chown nobody $SOURCE_DIR_PATH
|
|
|
-USER nobody
|
|
|
-
|
|
|
-ARG VIRTUALENV_PATH
|
|
|
-RUN virtualenv --no-site-packages $VIRTUALENV_PATH
|
|
|
-ENV PATH=$VIRTUALENV_PATH/bin:$PATH
|
|
|
+COPY --chown=build:1234 . $SOURCE_DIR_PATH
|
|
|
WORKDIR $SOURCE_DIR_PATH
|
|
|
-RUN pip install --no-cache-dir pipenv==2020.6.2
|
|
|
-COPY --chown=nobody . $SOURCE_DIR_PATH
|
|
|
-ENV PIPENV_CACHE_DIR=/tmp/pipenv-cache
|
|
|
+ENV PIPENV_CACHE_DIR=/tmp/pipenv-cache \
|
|
|
+ PIPENV_VENV_IN_PROJECT=yes-please \
|
|
|
+ PATH=/home/build/.local/bin:$PATH
|
|
|
RUN pipenv install --deploy --verbose \
|
|
|
+ && pipenv graph \
|
|
|
+ && pipenv run pip freeze \
|
|
|
&& rm -r .git/ $PIPENV_CACHE_DIR
|
|
|
|
|
|
|
|
@@ -52,7 +52,7 @@ USER nobody
|
|
|
|
|
|
ARG SOURCE_DIR_PATH
|
|
|
COPY --from=build $SOURCE_DIR_PATH $SOURCE_DIR_PATH
|
|
|
-ARG VIRTUALENV_PATH
|
|
|
+ARG VIRTUALENV_PATH=$SOURCE_DIR_PATH/.venv
|
|
|
ENV PATH=$VIRTUALENV_PATH/bin:$PATH
|
|
|
ENTRYPOINT ["tini", "--"]
|
|
|
CMD ["systemctl-mqtt", "--help"]
|