
Self-hosting Windows the easy way
Yulei ChenWindows in Docker (dockur/windows) lets you run a full Windows virtual machine inside a Docker container. You get a complete Windows desktop accessible right from your browser via noVNC. Whether you need a quick Windows environment for testing, running legacy software, or remote access to a Windows desktop, this open-source project makes it surprisingly simple.
Sliplane is a managed container platform that handles all the infrastructure for you. With a one-click preset, you can have Windows running in the cloud in minutes - no server setup, no manual Docker configuration, no reverse proxy to manage.
Prerequisites
Before deploying, ensure you have a Sliplane account (free trial available).
Quick start
Sliplane provides one-click deployment with presets.
- Click the deploy button above
- Select a project
- Select a server (If you just signed up you get a 48-hour free trial server)
- Click Deploy!
About the preset
The one-click deploy above uses Sliplane's Windows preset. Here is what it includes:
- Uses the
dockurr/windowsimage (version 5.15) - Installs Windows 11 by default (configurable via the
VERSIONenvironment variable) - Persistent storage mounted at
/storageso your VM disk survives restarts - Web-based noVNC interface for browser access on port 8006
- Runs with software emulation (
KVM=N) for broad server compatibility. This means the VM runs slower than with hardware acceleration, but works on any server without special requirements
Next steps
Once Windows is deployed, open the Sliplane-provided domain (e.g. windows-xxxx.sliplane.app) in your browser. You will see the Windows installation process running automatically. The first boot takes a few minutes while Windows installs itself.
Choosing a Windows version
By default the preset installs Windows 11. You can change this by updating the VERSION environment variable in your service settings. Supported values include:
| Value | Edition |
|---|---|
11 | Windows 11 Pro |
10 | Windows 10 Pro |
8 | Windows 8.1 Pro |
7 | Windows 7 Enterprise |
vista | Windows Vista Enterprise |
xp | Windows XP Professional |
2022 | Windows Server 2022 |
2019 | Windows Server 2019 |
2016 | Windows Server 2016 |
After changing the version, redeploy the service. Note that switching versions will reinstall Windows from scratch.
Storage
The VM's virtual disk is stored in the /storage volume. This is persistent, so your Windows installation and files survive container restarts. If you need more disk space, you can resize the volume in your Sliplane server settings.
For more on how Docker volumes work, check out our guide on how to use Docker volumes.
Troubleshooting
If the noVNC interface shows a blank screen or connection error, give it a few minutes. Windows needs time to install on first boot. You can check the service logs in Sliplane's dashboard to see the installation progress. For general tips on reading container logs, see how to use Docker logs.
Cost comparison
You can also self-host Windows in Docker with other cloud providers. Here is a pricing comparison for the most common ones:
| Provider | vCPU | RAM | Disk | Monthly Cost | Note |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 (~$10.65) | Flat rate, 1 TB bandwidth, SSL included |
| Fly.io | 2 | 2 GB | 40 GB | ~$18 | Disk and bandwidth billed separately |
| Render | 1 | 2 GB | 40 GB | ~$35 | 100 GB bandwidth, Disk billed separately |
| Railway | 2 | 2 GB | 40 GB | ~$67 + $20 plan | Pro plan floor, usage-based, bandwidth billed separately |
Click here to see how these numbers were calculated.
(Assuming an always-on instance running 730 hrs/month)
- Sliplane: flat €9/month for the Base server. Unlimited services on the same server, 1 TB egress and SSL included.
- Fly.io:
shared-cpu-2x2 GB = $11.83/mo + 40 GB volume × $0.15/GB = $6 -> ~$17.83/mo. Egress billed separately ($0.02/GB in EU). - Render: closest match is Standard ($25, 1 vCPU / 2 GB) plus 40 GB disk × $0.25/GB = $10 -> ~$35/mo. Stepping up to Pro (2 vCPU / 4 GB) costs $85/mo + disk.
- Railway (Pro plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/mo compute, plus the $20/mo Pro plan floor and $0.05/GB egress.
Bandwidth costs can add up fast on usage-based providers. Use our bandwidth cost comparison tool to see what your egress would cost on each platform.
FAQ
What can I use Windows in Docker for?
Common use cases include running Windows-only software, testing applications across different Windows versions, browser testing, running legacy applications, and having a quick remote Windows desktop accessible from any device with a browser.
Can I customize the VM resources?
The VM automatically uses the resources available to the container. On Sliplane, you can scale your server to get more CPU, RAM, and disk. For a smoother Windows experience, consider using a server with at least 4 GB of RAM.
How do I update Windows in Docker?
Change the image tag in your service settings to the latest version and redeploy. Check Docker Hub for the most recent stable version. Your Windows installation and data in the /storage volume will be preserved.
Can I access Windows via RDP?
Yes. The container also exposes RDP on port 3389. On Sliplane you can set up a TCP service or use an SSH tunnel to connect via RDP for a more responsive experience. See the dockur/windows documentation for details.
How much disk space does Windows need?
A fresh Windows 11 installation uses roughly 6-8 GB of disk space. With updates and installed software, plan for at least 20-30 GB. The /storage volume on Sliplane can be resized as needed.