# 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

RUN apk add --no-cache \
    gcc \
    glib-dev \
    make \
    musl-dev \
    tini
# TODO merge
RUN apk add --no-cache py3-virtualenv

#RUN apk add bluez-deprecated `# hcitool`

USER nobody

ARG SOURCE_DIR_PATH=/switchbot-mqtt
ARG SWITCHBOT_MQTT_VERSION=
COPY --chown=nobody . $SOURCE_DIR_PATH
WORKDIR $SOURCE_DIR_PATH
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"]