Project Description: 🏔️ kms on Alpine
What is the project about?
This project provides a Docker image that runs a Key Management Service (KMS) server based on Alpine Linux. It allows users to activate various versions of Microsoft Windows and Office products.
What problem does it solve?
It provides a way to activate Microsoft Windows and Office products (volume license editions) without requiring a direct connection to Microsoft's activation servers. This is particularly useful in environments where such connections are restricted or unavailable, or for testing/development purposes. It offers a self-hosted solution for managing product activations.
What are the features of the project?
- KMS Server: Runs a KMS server that emulates Microsoft's activation service.
- Wide Compatibility: Supports activation of a wide range of Windows and Office versions, from Vista/2008 to the latest releases (including Server 2025 and Office 2024).
- Dockerized: Packaged as a Docker image for easy deployment and portability.
- Alpine Linux Based: Uses Alpine Linux as the base image, resulting in a small image size.
- Configurable: Allows customization of various KMS parameters through environment variables (e.g., locale, client count, activation/renewal intervals, log level).
- Persistent Storage: Uses a volume (
/var
) to store the activation database, ensuring persistence across container restarts. - Unraid Support: Includes specific tags optimized for Unraid systems.
- Optional GUI: A separate
kms-gui
image is available to provide a web-based interface for monitoring activated clients. - Docker Compose: Provides a
docker-compose.yml
example for easy deployment of both the KMS server and the optional GUI. - Registry modification examples for Windows.
What are the technologies used in the project?
- Docker: Containerization technology.
- Alpine Linux: Lightweight Linux distribution.
- py-kms: A Python-based KMS server implementation.
- SQLite: Used for the activation database.
- (Optional) kms-gui: Web interface for monitoring.
What are the benefits of the project?
- Simplified Activation: Provides a centralized and self-hosted solution for activating Windows and Office products.
- Offline Activation: Enables activation in environments without direct internet access to Microsoft servers.
- Easy Deployment: Dockerized nature makes it easy to deploy and manage.
- Small Footprint: Alpine Linux base keeps the image size small.
- Customizable: Environment variables allow for configuration.
- Persistence: Activation data is stored persistently.
- Unraid Compatibility: Specifically tailored for Unraid users.
What are the use cases of the project?
- Corporate Environments: Activating Windows and Office in organizations with restricted internet access or internal network policies.
- Testing and Development: Activating software in testing or development environments without using production licenses.
- Home Labs: Managing activations for personal servers and workstations.
- Offline Environments: Activating systems in locations with limited or no internet connectivity.
- Educational Institutions: Providing a way to activate software for students and staff.
- Air-gapped networks: Activating systems that are intentionally isolated from external networks.
