FROM alpine:3.12

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 SQLITE true
ENV SQLITE_PORT	8080
ENV HWID RANDOM
ENV LOGLEVEL INFO
ENV LOGFILE /dev/stdout
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 \
	build-base python3-dev && \
    git clone https://github.com/coleifer/sqlite-web.git /tmp/sqlite_web && \
    cd /tmp/sqlite_web && \
    git checkout 2e7c85da3d37f80074ed3ae39b5851069b4f301c && \
    cd / && \
    mv /tmp/sqlite_web/sqlite_web /home/ && \
    rm -rf /tmp/sqlite_web && \
    pip3 install peewee tzlocal pytz pysqlite3 && \
    apk del git build-base python3-dev

# Fix undefined timezone, in case the user did not mount the /etc/localtime
RUN cp /usr/share/zoneinfo/UTC /etc/localtime

WORKDIR /home/py-kms

EXPOSE ${SQLITE_PORT}/tcp
EXPOSE ${PORT}/tcp

COPY docker/entrypoint.py /usr/bin/entrypoint.py
RUN chmod a+x /usr/bin/entrypoint.py
ENTRYPOINT ["/usr/bin/python3", "/usr/bin/entrypoint.py"]