py-kms/docker/docker-py3-kms/Dockerfile

56 lines
1.4 KiB
Docker
Raw Normal View History

# Switch to the target image
2022-02-11 09:43:24 +01:00
FROM alpine:3.15
2022-12-11 22:48:04 +01:00
ARG BUILD_COMMIT=unknown
ARG BUILD_BRANCH=unknown
ENV IP ::
ENV DUALSTACK 1
2021-10-14 13:13:15 +02:00
ENV PORT 1688
ENV EPID ""
ENV LCID 1033
ENV CLIENT_COUNT 26
ENV ACTIVATION_INTERVAL 120
ENV RENEWAL_INTERVAL 10080
ENV HWID RANDOM
ENV LOGLEVEL INFO
ENV LOGFILE STDOUT
2021-10-14 13:13:15 +02:00
ENV LOGSIZE ""
ENV TZ America/Chicago
ENV WEBUI 1
COPY docker/docker-py3-kms/requirements.txt /home/py-kms/
RUN apk add --no-cache --update \
bash \
python3 \
py3-pip \
sqlite-libs \
ca-certificates \
tzdata \
shadow \
&& pip3 install --no-cache-dir -r /home/py-kms/requirements.txt \
&& mkdir /db/ \
&& adduser -S py-kms -G users -s /bin/bash \
&& chown py-kms:users /home/py-kms \
# Fix undefined timezone, in case the user did not mount the /etc/localtime
&& ln -sf /usr/share/zoneinfo/UTC /etc/localtime
2022-12-11 21:56:08 +01:00
COPY py-kms /home/py-kms/
COPY docker/entrypoint.py /usr/bin/entrypoint.py
COPY docker/healthcheck.py /usr/bin/healthcheck.py
COPY docker/start.py /usr/bin/start.py
RUN chmod 555 /usr/bin/entrypoint.py /usr/bin/healthcheck.py /usr/bin/start.py
2022-12-11 22:48:04 +01:00
# Web-interface specifics
2022-12-11 21:56:08 +01:00
COPY LICENSE /LICENSE
2022-12-11 22:48:04 +01:00
RUN echo "$BUILD_COMMIT" > /VERSION && echo "$BUILD_BRANCH" >> /VERSION
2021-10-14 11:45:17 +02:00
WORKDIR /home/py-kms
EXPOSE ${PORT}/tcp
2022-12-11 21:56:08 +01:00
EXPOSE 8080/tcp
HEALTHCHECK --interval=5m --timeout=10s --start-period=10s --retries=3 CMD /usr/bin/python3 /usr/bin/healthcheck.py
ENTRYPOINT [ "/usr/bin/python3", "-u", "/usr/bin/entrypoint.py" ]