8 Commits

Author SHA1 Message Date
ElevenNotes
b48eeb675e drop KMS_ENHANCED_PRIVACY_ID 2025-02-07 11:43:16 +01:00
ElevenNotes
18c70eb586 drop KMS_ENHANCED_PRIVACY_ID 2025-02-07 11:31:02 +01:00
ElevenNotes
b1ff4dc249 drop KMS_ENHANCED_PRIVACY_ID 2025-02-07 11:30:22 +01:00
ElevenNotes
39c409583f add KMS_ENHANCED_PRIVACY_ID 2025-02-07 11:14:17 +01:00
ElevenNotes
7b2d310a77 add KMS_ENHANCED_PRIVACY_ID 2025-02-07 11:13:54 +01:00
ElevenNotes
33a59cfaa8 add DEBUG option 2025-02-07 10:45:31 +01:00
ElevenNotes
fdfa93cda8 add GUI example 2025-02-07 10:33:43 +01:00
ElevenNotes
8a2410c6dd chown /opt/py-kms 2025-02-07 10:29:05 +01:00
6 changed files with 23 additions and 15 deletions

View File

@@ -6,6 +6,7 @@
**Activate any version of Windows and Office, forever**
![activation](https://github.com/11notes/docker-kms/blob/master/img/activation.png "Windows Server 2025 Datacenter")
![GUI](https://github.com/11notes/docker-kms/blob/master/img/GUI.png "11notes/kms-gui")
# SYNOPSIS 📖
**What can I do with this?** This image will run a KMS server you can use to activate any version of Windows and Office, forever. If you need a GUI, simply add [11notes/kms-gui](https://github.com/11notes/docker-kms-gui) to your compose.
@@ -48,7 +49,7 @@ services:
- "var:/kms/var"
ports:
- "1688:1688/tcp"
restart: always
restart: "always"
kms-gui:
image: "11notes/kms-gui:latest"
container_name: "kms-gui"
@@ -58,7 +59,7 @@ services:
- "var:/kms/var"
ports:
- "8080:8080/tcp"
restart: always
restart: "always"
volumes:
var:
```
@@ -93,11 +94,11 @@ slmgr /ato
| Parameter | Value | Default |
| --- | --- | --- |
| `TZ` | [Time Zone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) | |
| `DEBUG` | Show debug messages from image **not** app | |
| `DEBUG` | Will activate debug option for container image and app (if available) | |
| `KMS_IP` | localhost or 127.0.0.1 or a dedicated IP | 0.0.0.0 |
| `KMS_PORT` | any port > 1024 | 1688 |
| `KMS_LOCALE` | see Microsoft LICD specification | 1033 (en-US) |
| `KMS_CLIENTCOUNT` | client count >= 25 | 25 |
| `KMS_CLIENTCOUNT` | client count > 25 | 26 |
| `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 |
@@ -112,10 +113,11 @@ slmgr /ato
* [py-kms](https://github.com/Py-KMS-Organization/py-kms)
* [alpine](https://alpinelinux.org)
# TIPS 📌
* Use a reverse proxy like Traefik, Nginx, HAproxy to terminate TLS with a valid certificate
* Use Lets Encrypt certificates to protect your SSL endpoints
# GENERAL TIPS 📌
* Use a reverse proxy like Traefik, Nginx, HAproxy to terminate TLS and to protect your endpoints
* Use Lets Encrypt DNS-01 challenge to obtain valid SSL certificates for your services
* Do not expose this image to WAN! You will get notified from Microsoft via your ISP to terminate the service if you do so
* [Microsoft LICD](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-oe376/6c085406-a698-4e12-9d4d-c3b0ee3dbc4a)
# 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 . You can find all my repositories on [github](https://github.com/11notes?tab=repositories).
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. You can find all my repositories on [github](https://github.com/11notes?tab=repositories).

View File

@@ -1,2 +1,2 @@
### 🪄 Features
* prepare base layer for GUI image
* drop KMS_ENHANCED_PRIVACY_ID

View File

@@ -39,7 +39,7 @@
ENV KMS_LOCALE=1033
ENV KMS_CLIENTCOUNT=26
ENV KMS_ACTIVATIONINTERVAL=120
ENV KMS_RENEWALINTERVAL=10080
ENV KMS_RENEWALINTERVAL=259200
ENV KMS_LOGLEVEL="INFO"
# :: multi-stage
@@ -58,7 +58,6 @@
RUN set -ex; \
mkdir -p ${APP_ROOT}/var; \
ln -sf /dev/stdout /var/log/kms.log; \
pip3 install --no-cache-dir -r /opt/py-kms/requirements.txt --break-system-packages; \
pip3 install --no-cache-dir pytz --break-system-packages; \
apk del --no-network .build;
@@ -68,7 +67,8 @@
RUN set -ex; \
chmod +x -R /usr/local/bin; \
chown -R 1000:1000 \
${APP_ROOT};
${APP_ROOT} \
/opt/py-kms;
# :: Volumes
VOLUME ["${APP_ROOT}/var"]

View File

@@ -9,7 +9,7 @@ services:
- "var:/kms/var"
ports:
- "1688:1688/tcp"
restart: always
restart: "always"
kms-gui:
image: "11notes/kms-gui:latest"
container_name: "kms-gui"
@@ -19,6 +19,6 @@ services:
- "var:/kms/var"
ports:
- "8080:8080/tcp"
restart: always
restart: "always"
volumes:
var:

BIN
img/GUI.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -1,5 +1,11 @@
#!/bin/ash
if [ -z "${1}" ]; then
if [ ! -z "${DEBUG}" ]; then
KMS_LOGLEVEL="DEBUG"
eleven log debug "setting kms log level to DEBUG"
fi
cd /opt/py-kms
set -- "python3" \
pykms_Server.py \
@@ -12,7 +18,7 @@
-s /kms/var/kms.db \
-w RANDOM \
-V ${KMS_LOGLEVEL} \
-F /var/log/kms.log \
-F STDOUT \
-y
eleven log start