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

53 lines
1.3 KiB
Docker
Raw Normal View History

# This is a minimized version from docker/docker-py3-kms/Dockerfile without SQLite support to further reduce image size
2022-02-11 03:44:15 -05:00
FROM alpine:3.15
2021-10-14 07:13:15 -04:00
ENV IP 0.0.0.0
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 07:13:15 -04:00
ENV LOGSIZE ""
COPY ./py-kms /home/py-kms
RUN apk add --no-cache --update \
bash \
git \
py3-argparse \
py3-flask \
py3-pygments \
python3-tkinter \
sqlite-libs \
py3-pip \
tzdata \
2021-10-31 13:13:38 -04:00
shadow \
netcat-openbsd \
build-base python3-dev \
&& pip3 install --no-cache-dir peewee tzlocal pytz wheel dnspython \
2021-10-31 13:13:38 -04:00
&& apk del git build-base python3-dev \
&& addgroup power_users \
&& adduser -S py-kms -G users -s /bin/bash \
&& usermod -a -G power_users py-kms \
&& 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
2021-10-14 05:45:17 -04:00
COPY docker/entrypoint.py /usr/bin/entrypoint.py
COPY docker/start.py /usr/bin/start.py
RUN chmod 755 /usr/bin/entrypoint.py
WORKDIR /home/py-kms
EXPOSE ${PORT}/tcp
HEALTHCHECK --interval=5m --timeout=3s --start-period=10s --retries=4 CMD echo | nc -z ${IP%% *} ${PORT} || exit 1
ENTRYPOINT ["/usr/bin/python3", "-u","/usr/bin/entrypoint.py"]
2021-10-31 13:13:38 -04:00
CMD ["/usr/bin/start.py"]