How to Turn Your Windows 11 PC into a Homelab Server for Hosting Websites and Data
Want to turn your old or existing Windows 11 PC into your own personal server? You can create a powerful homelab server capable of hosting websites, databases, applications and other services directly from your computer.
In this detailed guide, we will set up a Windows 11 PC with 8 GB RAM as a beginner-friendly homelab server using WSL2, Ubuntu, Docker and Nginx. You will gradually build a server environment capable of hosting websites and storing web data.
- What Is a Homelab Server?
- What We Are Going to Build
- How the Homelab System Works
- Requirements
- Step 1 — Prepare Your Windows PC
- Step 2 — Install WSL2 and Ubuntu
- Step 3 — Install Docker Desktop
- Step 4 — Create Your Homelab Environment
- Step 5 — Run Your First Web Server
- Step 6 — Access the Server From Your Network
- Step 7 — Add a Database Server
- The Complete Homelab Architecture
- Why Build a Homelab?
- Making Your Server Available on the Internet
- What You Can Add Next
- Useful Homelab Services
- Important Security Considerations
- Frequently Asked Questions
- Conclusion
What Is a Homelab Server?
A homelab is a personal server environment created using your own computer and network. Instead of paying for a cloud server, you can use your existing PC to run websites, databases, applications and other services.
Your Computer
↓
Install Server Software
↓
Run Applications
↓
Access Your Services
A homelab server can run continuously and provide services to devices connected to your local network. With the correct network configuration, some services can also be accessed from the Internet.
INTERNET
│
▼
ROUTER
│
▼
YOUR HOME NETWORK
│
▼
WINDOWS 11 PC
│
┌───────────┼───────────┐
│ │ │
▼ ▼ ▼
WEBSITES DATABASES FILES
What We Are Going to Build
Our Windows 11 PC will gradually become a personal server environment capable of running multiple services.
✓ Windows 11 server computer
✓ WSL2 Linux environment
✓ Ubuntu Server environment
✓ Docker containers
✓ Nginx web server
✓ Website hosting
✓ MariaDB/MySQL database
✓ Local network access
✓ Multiple applications
✓ Future remote Internet access
How the Homelab System Works
INTERNET
│
▼
ROUTER
│
▼
WINDOWS 11 PC
│
▼
WSL2
│
▼
UBUNTU
│
▼
DOCKER
│
┌──────────────┼──────────────┐
│ │ │
▼ ▼ ▼
NGINX DATABASE APPS
WEBSITE MariaDB SERVICES
│ │ │
└──────────────┼──────────────┘
│
▼
USERS
Docker allows you to run different server applications inside isolated containers. This makes it easier to install, manage and update services without manually configuring everything directly on Windows.
Requirements
Before starting, make sure your Windows computer has enough resources to run the homelab services you plan to install.
| Requirement | Recommendation |
|---|---|
| Operating System | Windows 11 |
| RAM | 8 GB minimum for a small homelab |
| Processor | 64-bit processor with virtualization support |
| Storage | At least 30–50 GB free space recommended |
| Network | Ethernet recommended for better stability |
| Internet | Optional for local hosting; required for remote access and downloads |
Step 1 — Prepare Your Windows PC
1 Prevent Your PC From Sleeping
A server should remain available while you want to access its services. If your computer enters sleep mode, your websites and applications will stop responding.
Open:
Settings → System → Power & battery → Screen and sleep
Set the sleep option appropriately so the computer does not automatically sleep while you want the server to remain available.
2 Check Available Storage
Make sure your computer has enough free storage for Ubuntu, Docker images, databases and website files.
Step 2 — Install WSL2 and Ubuntu
3 Open PowerShell as Administrator
Search for PowerShell in the Windows Start Menu and open it as Administrator.
Run:
wsl --install
This installs the Windows Subsystem for Linux and the required Linux environment.
4 Restart Your Computer
Restart Windows after the installation process is complete.
After restarting, open Ubuntu and create your Linux:
Username
Password
You now have a Linux environment running inside your Windows 11 computer.
WINDOWS 11
│
▼
WSL2
│
▼
UBUNTU
│
▼
SERVER SOFTWARE
Step 3 — Install Docker Desktop
5 Install Docker Desktop
Download and install Docker Desktop for Windows. During setup, use the WSL2-based Linux environment when available.
Docker will allow you to run applications such as:
✓ Nginx
✓ Apache
✓ MariaDB
✓ MySQL
✓ WordPress
✓ Nextcloud
✓ Node.js applications
6 Verify Docker Installation
Open PowerShell or Ubuntu and run:
docker --version
If Docker is installed correctly, the command should display the installed Docker version.
Step 4 — Create Your Homelab Environment
Open Ubuntu and create a dedicated folder for your homelab projects.
mkdir -p ~/homelab
cd ~/homelab
Create folders for different services:
mkdir websites
mkdir databases
mkdir nginx
mkdir apps
Your project structure can look like this:
homelab │ ├── websites │ ├── databases │ ├── nginx │ └── apps
As your homelab grows, you can create separate folders for each service and application.
Step 5 — Run Your First Web Server
7 Start Nginx
Run the following command inside Ubuntu or your Docker-enabled environment:
docker run -d \
--name webserver \
-p 80:80 \
nginx
This command creates an Nginx web server container and connects port 80 on your computer to the web server.
8 Test the Server
Open your web browser and visit:
http://localhost
If everything is configured correctly, you should see the Nginx welcome page.
WEB BROWSER
│
▼
http://localhost
│
▼
WINDOWS PC
│
▼
DOCKER
│
▼
NGINX
│
▼
WEBSITE
Step 6 — Access the Server From Your Home Network
Your server can also be accessed from other devices connected to the same local network.
9 Find Your PC's Local IP Address
Open Command Prompt and run:
ipconfig
Look for your IPv4 address. It may look similar to:
192.168.1.100
10 Open the Server From Another Device
From another computer or phone connected to the same network, open:
http://192.168.1.100
Replace the example address with your actual local IP address.
Your phone, laptop or another device connected to the same Wi-Fi network can access your web server through the PC's local IP address.
Step 7 — Add a Database Server
Most dynamic websites and applications require a database to store information such as users, posts, settings and other application data.
You can run MariaDB inside Docker:
docker run -d \
--name mariadb \
-e MYSQL_ROOT_PASSWORD=YourStrongPassword \
-p 3306:3306 \
mariadb
The database can now be used by applications running on your homelab.
The Complete Homelab Architecture
INTERNET
│
▼
ROUTER
│
▼
WINDOWS 11 PC
│
▼
WSL2
│
▼
UBUNTU
│
▼
DOCKER
│
┌──────────────┼──────────────┐
│ │ │
▼ ▼ ▼
NGINX DATABASE APPS
WEBSITES MariaDB SERVICES
│ │ │
└──────────────┼──────────────┘
│
▼
USERS
Why Build a Homelab?
| Advantage | Explanation |
|---|---|
| Learning | You can learn Linux, Docker, networking and server administration. |
| Website Hosting | You can host your own websites and applications. |
| Data Control | You have direct control over your files and services. |
| Experimentation | You can safely test different applications and server technologies. |
| Multiple Services | Docker allows multiple applications to run on the same computer. |
Making Your Server Available on the Internet
Initially, your homelab server should be tested inside your local network. After everything is working correctly, you can consider making selected services available remotely.
REMOTE USER
│
▼
INTERNET
│
▼
SECURE TUNNEL / REVERSE PROXY
│
▼
YOUR HOME SERVER
│
▼
WEBSITE OR APPLICATION
For a safer setup, many homelab users use a secure tunnel or properly configured reverse proxy instead of directly exposing multiple ports on their home network.
What You Can Add Next
Your basic homelab server is only the beginning. You can gradually add more services as you learn.
🚀 Nginx Proxy Manager
🚀 Multiple websites
🚀 PHP applications
🚀 WordPress
🚀 Nextcloud personal cloud
🚀 File server
🚀 Media server
🚀 Home dashboard
🚀 Monitoring tools
🚀 Automated backups
🚀 Secure remote access
Useful Homelab Services
As your server becomes more advanced, you can run several different services using Docker containers.
HOMELAB SERVER
│
┌───────────┬───────┼────────┬───────────┐
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
WEBSITE CLOUD DATABASE FILES MEDIA
Nginx Storage MariaDB Server Server
For example, one container can host a website while another container stores database information. This separation makes it easier to manage individual services.
Important Security Considerations
A homelab connected to your network can become a security risk if it is not configured properly. Security should be considered from the beginning.
- Use strong passwords for all services.
- Keep Windows, Ubuntu and Docker updated.
- Do not expose unnecessary ports to the Internet.
- Do not directly expose databases unless necessary.
- Use a firewall.
- Create backups of important website and database data.
- Run only the services you actually need.
- Use secure authentication for remote access.
- Regularly check which Docker containers are running.
Frequently Asked Questions
Can I use an old Windows PC as a homelab server?
Yes. An older computer can be used as a homelab server if it has enough RAM, storage and processing power for the services you want to run.
Is 8 GB RAM enough for a homelab server?
Yes. Eight GB of RAM is enough for a small beginner homelab running lightweight services such as a web server, database and a few Docker containers.
Can I host a website from my Windows PC?
Yes. You can run web server software such as Nginx or Apache and host website files directly from your computer.
Can other devices access my homelab server?
Yes. Devices connected to the same local network can access services using your computer's local IP address and the correct port configuration.
Can I access my homelab from anywhere?
Yes, but remote access requires additional network and security configuration. A secure tunnel, VPN or properly configured reverse proxy can be used depending on your requirements.
Should I install Linux directly instead of using Windows?
A dedicated Linux server can provide more resources for server applications, but using Windows 11 with WSL2 and Docker is an easier way to start if Windows is already installed on your PC.
Conclusion
Turning your Windows 11 PC into a homelab server is an excellent way to host websites, store data and learn real-world server technologies without immediately paying for a cloud server.
With WSL2, Ubuntu and Docker, you can create a flexible Linux-based server environment while continuing to use Windows as your main operating system.
Your 8 GB RAM PC is enough to begin with lightweight services such as an Nginx web server, websites and a MariaDB database.
Next step: After setting up WSL2 and Docker, create your first Docker Compose project and install Nginx Proxy Manager. This will make it easier to manage multiple websites, domains and services from your homelab server.
Note: Server software, Windows features and Docker configurations can change over time. Always check the relevant official documentation before exposing your homelab services to the public Internet.