new base layer 11notes/kms:${APP_VERSION}

This commit is contained in:
ElevenNotes
2025-02-07 09:17:05 +01:00
parent 4b3005630d
commit 70680a384b
5 changed files with 11 additions and 1084 deletions

2
.json
View File

@@ -6,5 +6,5 @@
"root":"/kms",
"stable":"646f476",
"parent":"11notes/alpine:stable"
"parent":"11notes/kms:646f476"
}

View File

@@ -48,7 +48,7 @@ volumes:
* [11notes/kms-gui](https://github.com/11notes/docker-kms-gui)
# PARENT IMAGE 🏛️
* [11notes/alpine:stable](https://hub.docker.com/r/11notes/alpine)
* [11notes/kms:646f476](https://hub.docker.com/r/11notes/kms)
# BUILT WITH 🧰
* [py-kms](https://github.com/Py-KMS-Organization/py-kms)

View File

@@ -1,31 +1,7 @@
# :: Util
FROM alpine/git AS util
ARG NO_CACHE
RUN set -ex; \
git clone https://github.com/11notes/docker-util.git;
# :: Build / redis
FROM python:3.12-alpine AS build
ARG TARGETARCH
ARG APP_VERSION
USER root
RUN set -ex; \
apk --update --no-cache add \
git; \
mkdir -p /opt/py-kms-gui; \
git clone https://github.com/Py-KMS-Organization/py-kms.git; \
cd /py-kms/py-kms; \
git checkout ${APP_VERSION}; \
cp -R /py-kms/py-kms/* /opt/py-kms-gui; \
cp -R /py-kms/docker/docker-py3-kms/requirements.txt /opt/py-kms-gui;
ARG APP_VERSION=stable
# :: Header
FROM 11notes/alpine:stable
FROM 11notes/kms:${APP_VERSION}
# :: arguments
ARG TARGETARCH
@@ -41,31 +17,27 @@
ENV APP_ROOT=${APP_ROOT}
ENV PYKMS_SQLITE_DB_PATH=/kms/var/kms.db
ENV PYKMS_LICENSE_PATH=/opt/py-kms-gui/LICENSE
ENV PYKMS_VERSION_PATH=/opt/py-kms-gui/VERSION
ENV PYKMS_LICENSE_PATH=/opt/py-kms/LICENSE
ENV PYKMS_VERSION_PATH=/opt/py-kms/VERSION
ENV PORT=8080
# :: multi-stage
COPY --from=util /git/docker-util/src/ /usr/local/bin
COPY --from=build /opt/py-kms-gui/ /opt/py-kms-gui
COPY ./LICENSE /opt/py-kms-gui
COPY ./LICENSE /opt/py-kms
# :: Run
USER root
# :: install application
RUN set -ex; \
apk --no-cache --update add \
python3=3.12.8-r1; \
apk --no-cache --update --virtual .build add \
py3-pip;
RUN set -ex; \
mkdir -p ${APP_ROOT}/var; \
cd /opt/py-kms-gui; \
cd /opt/py-kms; \
echo "${APP_VERSION}" > VERSION; \
echo "master" >> VERSION; \
pip3 install --no-cache-dir -r /opt/py-kms-gui/requirements.txt --break-system-packages; \
pip3 install --no-cache-dir -r /opt/py-kms/requirements.gui.txt --break-system-packages; \
apk del --no-network .build;
# :: copy filesystem changes and set correct permissions
@@ -75,9 +47,6 @@
chown -R 1000:1000 \
${APP_ROOT};
# :: Volumes
VOLUME ["${APP_ROOT}/var"]
# :: Monitor
HEALTHCHECK --interval=5s --timeout=2s CMD curl -X GET -kILs --fail http://localhost:${PORT}/livez || exit 1

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,10 @@
#!/bin/ash
if [ -z "${1}" ]; then
cd /opt/py-kms-gui
cd /opt/py-kms
set -- "gunicorn" \
--log-level INFO \
pykms_WebUI:app
eleven log start
fi