How to Turn Your Windows 11 PC into a Homelab Server

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.

Turn Windows 11 PC into a homelab server using Docker and Ubuntu
Turn your Windows 11 PC into a personal homelab server for websites and data.

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
Tip: Your Windows 11 PC with 8 GB RAM is suitable for a beginner homelab. Start with only a few lightweight services and add more applications gradually.

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.

Recommended: Keep at least 30–50 GB of free storage available before building a larger homelab environment.

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.

Example:

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.

Security warning: Do not expose your database port directly to the public Internet unless you fully understand the security configuration. Databases should normally be accessible only to the applications and networks that require them.

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.

Important: Do not randomly open ports on your router without understanding the security risks. Public Internet access should be configured carefully and only for services you actually need.

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.
Best approach: Start with local network access first. Learn how each service works before making your homelab publicly accessible from the Internet.

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.

Post a Comment

Previous Post Next Post