mirror of
https://github.com/11notes/docker-kms.git
synced 2025-10-24 16:43:42 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8ec600025 | ||
|
|
24a9b2f00e | ||
|
|
2e5987e07e | ||
|
|
6174e7f2e3 | ||
|
|
bde8202670 | ||
|
|
0e8ba02ebc | ||
|
|
0a8b7acd55 |
4
.github/workflows/docker.yml
vendored
4
.github/workflows/docker.yml
vendored
@@ -135,7 +135,7 @@ jobs:
|
||||
docker.image.tags.push(opt.input.etc.tag);
|
||||
docker.image.tags.push(`${opt.input.etc.tag}-${docker.app.version}`);
|
||||
docker.cache.name = `${docker.image.name}:buildcache-${opt.input.etc.tag}`;
|
||||
}else{
|
||||
}else if(docker.app.version !== 'latest'){
|
||||
const semver = docker.app.version.split('.');
|
||||
docker.image.tags.push(`${context.sha.substring(0,7)}`);
|
||||
if(Array.isArray(semver)){
|
||||
@@ -145,6 +145,8 @@ jobs:
|
||||
}
|
||||
if(opt.dot?.semver?.stable && new RegExp(opt.dot?.semver.stable, 'ig').test(docker.image.tags.join(','))) docker.image.tags.push('stable');
|
||||
if(opt.dot?.semver?.latest && new RegExp(opt.dot?.semver.latest, 'ig').test(docker.image.tags.join(','))) docker.image.tags.push('latest');
|
||||
}else{
|
||||
docker.image.tags.push('latest');
|
||||
}
|
||||
|
||||
for(const tag of docker.image.tags){
|
||||
|
||||
2
.json
2
.json
@@ -5,7 +5,7 @@
|
||||
"arch":"linux/amd64,linux/arm64,linux/arm/v7",
|
||||
|
||||
"semver":{
|
||||
"version":"1.0.1"
|
||||
"version":"1.0.2"
|
||||
},
|
||||
|
||||
"readme":{
|
||||
|
||||
@@ -148,4 +148,4 @@ This image supports unraid by default. Simply add **-unraid** to any tag and the
|
||||
# ElevenNotes™️
|
||||
This image is provided to you at your own risk. Always make backups before updating an image to a different version. Check the [releases](https://github.com/11notes/docker-kms/releases) for breaking changes. If you have any problems with using this image simply raise an [issue](https://github.com/11notes/docker-kms/issues), thanks. If you have a question or inputs please create a new [discussion](https://github.com/11notes/docker-kms/discussions) instead of an issue. You can find all my other repositories on [github](https://github.com/11notes?tab=repositories).
|
||||
|
||||
*created 21.05.2025, 08:27:53 (CET)*
|
||||
*created 21.05.2025, 08:48:52 (CET)*
|
||||
@@ -1,14 +1,21 @@
|
||||
ARG APP_UID=1000
|
||||
ARG APP_GID=1000
|
||||
ARG BUILD_ROOT=/git/fork-py-kms
|
||||
# ╔═════════════════════════════════════════════════════╗
|
||||
# ║ SETUP ║
|
||||
# ╚═════════════════════════════════════════════════════╝
|
||||
# GLOBAL
|
||||
ARG APP_UID=1000 \
|
||||
APP_GID=1000 \
|
||||
BUILD_ROOT=/git/fork-py-kms
|
||||
|
||||
# :: Util
|
||||
# :: FOREIGN IMAGES
|
||||
FROM 11notes/util AS util
|
||||
|
||||
# :: Build / py-kms
|
||||
# ╔═════════════════════════════════════════════════════╗
|
||||
# ║ BUILD ║
|
||||
# ╚═════════════════════════════════════════════════════╝
|
||||
# :: PY-KMS
|
||||
FROM alpine/git AS build
|
||||
ARG APP_VERSION
|
||||
ARG BUILD_ROOT
|
||||
ARG APP_VERSION \
|
||||
BUILD_ROOT
|
||||
RUN set -ex; \
|
||||
git clone https://github.com/11notes/fork-py-kms -b next; \
|
||||
cd ${BUILD_ROOT}; \
|
||||
@@ -16,53 +23,61 @@ ARG BUILD_ROOT=/git/fork-py-kms
|
||||
cp -R ${BUILD_ROOT}/docker/docker-py3-kms-minimal/requirements.txt ${BUILD_ROOT}/py-kms/requirements.txt; \
|
||||
cp -R ${BUILD_ROOT}/docker/docker-py3-kms/requirements.txt ${BUILD_ROOT}/py-kms/requirements.gui.txt;
|
||||
|
||||
# :: Header
|
||||
# ╔═════════════════════════════════════════════════════╗
|
||||
# ║ IMAGE ║
|
||||
# ╚═════════════════════════════════════════════════════╝
|
||||
# :: HEADER
|
||||
FROM 11notes/alpine:stable
|
||||
|
||||
# :: arguments
|
||||
ARG TARGETARCH
|
||||
ARG APP_IMAGE
|
||||
ARG APP_NAME
|
||||
ARG APP_VERSION
|
||||
ARG APP_ROOT
|
||||
ARG APP_UID
|
||||
ARG APP_GID
|
||||
ARG APP_NO_CACHE
|
||||
# :: default arguments
|
||||
ARG TARGETPLATFORM \
|
||||
TARGETOS \
|
||||
TARGETARCH \
|
||||
TARGETVARIANT \
|
||||
APP_IMAGE \
|
||||
APP_NAME \
|
||||
APP_VERSION \
|
||||
APP_ROOT \
|
||||
APP_UID \
|
||||
APP_GID \
|
||||
APP_NO_CACHE
|
||||
|
||||
# :: default python image
|
||||
ARG PIP_ROOT_USER_ACTION=ignore \
|
||||
PIP_BREAK_SYSTEM_PACKAGES=1 \
|
||||
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
||||
PIP_NO_CACHE_DIR=1
|
||||
|
||||
# :: image specific arguments
|
||||
ARG BUILD_ROOT
|
||||
|
||||
# :: python image
|
||||
ARG PIP_ROOT_USER_ACTION=ignore
|
||||
ARG PIP_BREAK_SYSTEM_PACKAGES=1
|
||||
ARG PIP_DISABLE_PIP_VERSION_CHECK=1
|
||||
ARG PIP_NO_CACHE_DIR=1
|
||||
# :: default environment
|
||||
ENV APP_IMAGE=${APP_IMAGE} \
|
||||
APP_NAME=${APP_NAME} \
|
||||
APP_VERSION=${APP_VERSION} \
|
||||
APP_ROOT=${APP_ROOT}
|
||||
|
||||
# :: environment
|
||||
ENV APP_IMAGE=${APP_IMAGE}
|
||||
ENV APP_NAME=${APP_NAME}
|
||||
ENV APP_VERSION=${APP_VERSION}
|
||||
ENV APP_ROOT=${APP_ROOT}
|
||||
|
||||
ENV KMS_LOCALE=1033
|
||||
ENV KMS_CLIENTCOUNT=26
|
||||
ENV KMS_ACTIVATIONINTERVAL=120
|
||||
ENV KMS_RENEWALINTERVAL=259200
|
||||
ENV KMS_LOGLEVEL="INFO"
|
||||
# :: app specific variables
|
||||
ENV KMS_LOCALE=1033 \
|
||||
KMS_ACTIVATIONINTERVAL=120 \
|
||||
KMS_RENEWALINTERVAL=259200
|
||||
|
||||
# :: multi-stage
|
||||
COPY --from=util /usr/local/bin /usr/local/bin
|
||||
COPY --from=build ${BUILD_ROOT}/py-kms /opt/py-kms
|
||||
|
||||
# :: Run
|
||||
# :: RUN
|
||||
USER root
|
||||
RUN eleven printenv;
|
||||
|
||||
# :: install application
|
||||
# :: install dependencies
|
||||
RUN set -ex; \
|
||||
apk --no-cache --update add \
|
||||
python3; \
|
||||
apk --no-cache --update --virtual .build add \
|
||||
py3-pip;
|
||||
|
||||
# :: install and update application
|
||||
RUN set -ex; \
|
||||
mkdir -p ${APP_ROOT}/var; \
|
||||
pip3 install -r /opt/py-kms/requirements.txt; \
|
||||
@@ -71,7 +86,7 @@ ARG BUILD_ROOT=/git/fork-py-kms
|
||||
apk del --no-network .build; \
|
||||
rm -rf /usr/lib/python3.12/site-packages/pip;
|
||||
|
||||
# :: copy filesystem changes and set correct permissions
|
||||
# :: copy root filesystem and set correct permissions
|
||||
COPY ./rootfs /
|
||||
RUN set -ex; \
|
||||
chmod +x -R /usr/local/bin; \
|
||||
@@ -79,15 +94,16 @@ ARG BUILD_ROOT=/git/fork-py-kms
|
||||
${APP_ROOT} \
|
||||
/opt/py-kms;
|
||||
|
||||
# :: support unraid
|
||||
# :: enable unraid support
|
||||
RUN set -ex; \
|
||||
eleven unraid
|
||||
|
||||
# :: Volumes
|
||||
# :: PERSISTENT DATA
|
||||
VOLUME ["${APP_ROOT}/var"]
|
||||
|
||||
# :: Monitor
|
||||
HEALTHCHECK --interval=5s --timeout=2s CMD netstat -an | grep -q 1688 || exit 1
|
||||
# :: HEALTH
|
||||
HEALTHCHECK --interval=5s --timeout=2s --start-interval=5s \
|
||||
CMD netstat -an | grep -q 1688
|
||||
|
||||
# :: Start
|
||||
# :: EXECUTE
|
||||
USER ${APP_UID}:${APP_GID}
|
||||
@@ -56,7 +56,6 @@ ${{ content_environment }}
|
||||
| `KMS_LOCALE` | see Microsoft LICD specification | 1033 (en-US) |
|
||||
| `KMS_ACTIVATIONINTERVAL` | Retry unsuccessful after N minutes | 120 (2 hours) |
|
||||
| `KMS_RENEWALINTERVAL` | re-activation after N minutes | 259200 (180 days) |
|
||||
| `KMS_LOGLEVEL` | CRITICAL, ERROR, WARNING, INFO, DEBUG, MININFO | INFO |
|
||||
|
||||
${{ content_source }}
|
||||
|
||||
|
||||
@@ -4,12 +4,14 @@
|
||||
if [ ! -z "${DEBUG}" ]; then
|
||||
KMS_LOGLEVEL="DEBUG"
|
||||
eleven log debug "setting kms log level to DEBUG"
|
||||
else
|
||||
KMS_LOGLEVEL="INFO"
|
||||
fi
|
||||
|
||||
cd /opt/py-kms
|
||||
set -- "python3" \
|
||||
pykms_Server.py \
|
||||
0.0.0.0 \
|
||||
:: \
|
||||
1688 \
|
||||
-l ${KMS_LOCALE} \
|
||||
-a ${KMS_ACTIVATIONINTERVAL} \
|
||||
|
||||
Reference in New Issue
Block a user