KMS
Activate any version of Windows and Office, forever
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.
Works with:
- Windows Vista
 - Windows 7
 - Windows 8
 - Windows 8.1
 - Windows 10
 - Windows 11
 - Windows Server 2008
 - Windows Server 2008 R2
 - Windows Server 2012
 - Windows Server 2012 R2
 - Windows Server 2016
 - Windows Server 2019
 - Windows Server 2022
 - Windows Server 2025
 - Microsoft Office 2010 ( Volume License )
 - Microsoft Office 2013 ( Volume License )
 - Microsoft Office 2016 ( Volume License )
 - Microsoft Office 2019 ( Volume License )
 - Microsoft Office 2021 ( Volume License )
 - Microsoft Office 2024 ( Volume License )
 
VOLUMES 📁
- /kms/var - Directory of the activation database
 
COMPOSE ✂️
name: "kms"
services:
  app:
    image: "11notes/kms:465f4d1"
    environment:
      TZ: "Europe/Zurich"
    volumes:
      - "var:/kms/var"
    ports:
      - "1688:1688/tcp"
    restart: "always"
  gui:
    image: "11notes/kms-gui:465f4d1"
    depends_on:
      app:
        condition: "service_healthy"
        restart: true
    environment:
      TZ: "Europe/Zurich"
    volumes:
      - "var:/kms/var"
    ports:
      - "3000:3000/tcp"
    restart: "always"
volumes:
  var:
EXAMPLE
Windows Server 2025 Datacenter. List of GVLK
slmgr /ipk D764K-2NDRG-47T6Q-P8T8W-YP6DF
Add your KMS server information to server via registry
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" -Name "KeyManagementServiceName" -Value "KMS_IP"
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" -Name "KeyManagementServicePort" -Value "KMS_PORT"
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" -Name "KeyManagementServiceName" -Value "KMS_IP"
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" -Name "KeyManagementServicePort" -Value "KMS_PORT"
Activate server
slmgr /ato
DEFAULT SETTINGS 🗃️
| Parameter | Value | Description | 
|---|---|---|
user | 
docker | user name | 
uid | 
1000 | user identifier | 
gid | 
1000 | group identifier | 
home | 
/kms | home directory of user docker | 
database | 
/kms/var/kms.db | SQlite database holding all client data | 
ENVIRONMENT 📝
| Parameter | Value | Default | 
|---|---|---|
TZ | 
Time Zone | |
DEBUG | 
Will activate debug option for container image and app (if available) | |
KMS_LOCALE | 
see Microsoft LICD specification | 1033 (en-US) | 
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 | 
MAIN TAGS 🏷️
These are the main tags for the image. There is also a tag for each commit and its shorthand sha256 value.
REGISTRIES ☁️
docker pull 11notes/kms:465f4d1
docker pull ghcr.io/11notes/kms:465f4d1
docker pull quay.io/11notes/kms:465f4d1
${{ title_unraid }} This image supports unraid by default. Simply add -unraid to any tag and the image will run as 99:100 instead of 1000:1000 causing no issues on unraid. Enjoy.
SOURCE 💾
PARENT IMAGE 🏛️
BUILT WITH 🧰
GENERAL TIPS 📌
Tip
- Use a reverse proxy like Traefik, Nginx, HAproxy to terminate TLS and to protect your endpoints
 - Use Let’s 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
 - Use 11notes/kms-gui if you want to see the clients you activated in a nice web GUI
 
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 for breaking changes. If you have any problems with using this image simply raise an issue, thanks. If you have a question or inputs please create a new discussion instead of an issue. You can find all my other repositories on github.
created 02.05.2025, 10:31:30 (CET)


