So You Have a Home Server — Now What?
You turned an old desktop into a home server. Maybe you followed a guide, installed Ubuntu, and now you're staring at a terminal window thinking, "Okay, what do I actually do with this thing?" I've been there. After a few weekends of tinkering, I found ten practical things to do with a home server that don't require a computer science degree. This list is full of home server ideas that work on an old PC home server with 8GB of RAM, and almost every tool here is free. So if you're wondering what to do with a home server, grab a cup of coffee and let's walk through each project.
The best part? You don't need to buy new hardware. That old tower in the closet, the one you almost threw away, can become your own Netflix, private Dropbox, backup vault, and web host—all at the same time. I'll show you ten home server projects you can set up this weekend, using software that costs $0.
Quick Answer: 10 Home Server Projects at a Glance
Here's a fast look at every project in this guide. Difficulty assumes you're following step-by-step instructions, not building from scratch.
| Project | What It Does | Difficulty | Cost |
|---|---|---|---|
| Jellyfin media server | Stream your own movies and TV shows to any device | Beginner | Free |
| Nextcloud | Private cloud storage with phone photo backup | Beginner | Free |
| Automated backups | Copy important files to a second drive on a schedule | Beginner | Free (or extra drive) |
| Tailscale remote access | Reach your server from anywhere without opening router ports | Beginner | Free |
| Website hosting | Run a blog or personal site on your own hardware | Beginner | Free (domain optional ~$10/year) |
| Security camera storage | Save IP camera footage locally | Beginner | Free (or camera cost) |
| Home dashboard | See server status and service shortcuts on one page | Beginner | Free |
| Password manager | Store and sync passwords with a self-hosted vault | Beginner | Free |
| RSS reader | Collect news and blog feeds in one place | Beginner | Free |
| Learning lab | Practice Linux commands and Python scripts without fear | Beginner | Free |
All of these run on Linux, most use Docker under the hood, and none of them require you to be a programmer.
1. Media Server — Watch Your Own Netflix
The first thing I installed on my old PC was Jellyfin. It's a free, open-source media server that streams your own movies, TV shows, music, and photos to any device in your house—laptop, phone, tablet, or smart TV. Think of it as your personal Netflix, except there's no monthly fee and no one tracks what you watch.
Jellyfin works with whatever media files you already have. Put them in a folder, point Jellyfin at that folder, and it automatically builds a library with cover art and descriptions. You can watch on your phone using the Jellyfin app, cast to a Roku, or open a browser tab. I have a detailed guide on setting up a Jellyfin home media server if you want step-by-step screenshots.
One tip for old hardware: choose "direct play" in Jellyfin settings. That sends the original video file to your device without forcing the server to convert it, which keeps CPU usage low.
2. Cloud Storage — Your Private Dropbox
Nextcloud turns your home server into your own cloud storage service. You install it, install the app on your phone, and every photo you take can back up automatically to your own hard drive. No more uploading your life to Google Drive or iCloud and hoping they don't scan it.
You get a web interface where you can upload files, share links with friends, and sync folders across devices. I use Nextcloud to back up my entire photo library, and my wife uses the same server to store work documents. We're both on the same private cloud, but the data lives in our house, not in some company's data center. If you want to try it, check out my Nextcloud cloud storage tutorial. The setup is mostly clicking through a web installer.
3. Automated Backups — Protect Your Files
A home server is the perfect backup target. Instead of hoping your laptop's hard drive never fails, set up a schedule that copies your important folders to the server every night. That way, if your main computer dies, you still have yesterday's copy waiting on the old PC.
You can do this with a simple Python script and a cron job. I wrote a full Python automated backups guide that shows you how to copy folders, compress them into a zip file, and keep a rolling number of snapshots. You don't need to know Python—just copy the script, change the folder paths, and set it to run daily. The beauty of a home server is that it's always on, so backups happen even when you forget about them.
4. Remote Access — Reach Your Server from Anywhere
Once your server is full of movies, files, and backups, you'll want to get to it from outside your home network. Maybe you're at a coffee shop and want to grab a file, or you're traveling and want to watch a movie from your Jellyfin library. You could poke holes in your router, but that's risky and confusing for beginners.
Tailscale solves this with a free, private connection that links your devices together over the internet. You install Tailscale on your server and on your laptop or phone, sign in, and suddenly your devices act like they're on the same local network—even when they're thousands of miles apart. The free plan covers 100 devices and 3 users, which is plenty for a family. And the best part? You never have to open a port on your router. I covered the whole setup in my Tailscale remote access post.
5. Website Hosting — Run Your Own Site
Hosting a website on your home server costs roughly the price of a domain name—about $10 a year if you want a custom URL. The actual hosting is free because you're using your own hardware. You can run a personal blog, a portfolio, a family photo gallery, or even a small online store.
For beginners, WordPress is the most popular option because it has a friendly web installer and thousands of free themes. If you prefer simple and fast, a static site generator like Hugo or Jekyll works great on an old PC. Your site will load quickly for friends and family, and you'll learn how web servers actually work. Just keep in mind that a home internet connection is usually slower for visitors than a data center, so this works best for low-traffic personal sites.
6. Security Camera Storage
If you have an IP camera at your front door, you can store its recordings on your home server instead of paying for a cloud subscription. Software like Frigate or Shinobi runs on your server, connects to the camera's stream, and saves footage to a local hard drive. You can set it to keep only motion-triggered clips so you don't fill up your disk with hours of empty hallway.
This project is a little more involved than the others because you need to give the camera a static IP on your local network and configure the storage folder. But once it's running, you own the footage. No monthly fee, no third party reviewing your video. If you're brand new, start with the other projects first and come back to this one when you're comfortable.
7. Home Dashboard / Status Page
After you install four or five services, you'll want a single page that shows everything at a glance. A home dashboard does exactly that. Tools like Homepage or Dashy give you a clean web page with shortcuts to all your apps, plus live stats like CPU temperature, memory usage, and disk space.
I put my dashboard on a tablet that sits in the kitchen. I can see if the server is running hot, check how much storage is left, and tap a button to open Jellyfin or Nextcloud. It's a fun weekend project that makes your server feel less like a mysterious black box.
8. Password Manager
You know those paid password managers that store all your logins in the cloud? You can run your own for free with Vaultwarden. It's a lightweight, self-hosted password vault that works with the Bitwarden browser extension and mobile app. Your encrypted passwords sit on your own server, not on someone else's infrastructure.
The setup is straightforward in CasaOS or Docker. Once it's running, you create an account, install the Bitwarden app or extension, and point it to your server's address. All your passwords sync securely between devices. If you've been putting off using a password manager because of the subscription fee, this removes that excuse.
9. RSS Reader / News Feed
Most news and blog reading is controlled by algorithms now. An RSS reader brings back a simple, chronological list of articles from sites you choose. On a home server, you can install FreshRSS or Miniflux in a few minutes. Then you subscribe to the blogs and news sources you actually like, and the server checks them for new posts every few hours.
I use Miniflux to follow about forty tech and woodworking blogs. No ads, no "recommended for you" clutter, no infinite scroll. When I have time to read, I open one clean web page and see exactly what's new since my last visit. It's a small project that reclaims a lot of attention.
10. Just a Learning Lab
This might be the most underrated thing to do with a home server: treat it as a sandbox. It's an always-on Linux computer that you can break and rebuild as many times as you want. Try a new command you saw online. Write a Python script that renames files in a folder. Install a service, decide you hate it, and wipe it clean.
Because it's not your main laptop, there's zero risk. If you mess up the networking config or delete an important folder by accident, you just reinstall Linux and start over. That freedom is how I learned the command line. I'd pick a random free software project, follow the install docs, and learn something new each week. Your old PC is a perfect practice field.
How to Get Started (No Confusing Setup)
If all of this sounds great but you're nervous about typing commands, here's a three-step path that requires almost no Linux knowledge.
Step 1: Install CasaOS. CasaOS is a free graphical interface that sits on top of your server's operating system. Instead of editing config files, you get a web page with an app store. You click "Install" next to Jellyfin or Nextcloud, and CasaOS handles the Docker stuff behind the scenes. This is the fastest way for a beginner to go from "empty server" to "home dashboard with five apps." I have a full CasaOS home server guide that covers installation.
Step 2: Try Docker with one command. If you'd rather touch the terminal just a little, make sure Docker is installed, then run this test:
# This command downloads the nginx image and runs it in the background
# -d means detached (runs in the background)
# -p 8080:80 maps port 8080 on your server to port 80 inside the container
# --name nginx-test gives the container a name you can use later
docker run -d --name nginx-test -p 8080:80 nginx:latest
# Now open your web browser and go to: http://your-server-ip:8080
# Replace your-server-ip with the local IP of your server (like 192.168.1.50)
# To see the running container:
docker ps
# To stop and remove this test:
docker stop nginx-test && docker rm nginx-test
If you see the Nginx welcome page, Docker is working. That one command just ran a real web server on your home server.
Step 3: Run a service with docker-compose. Most self-hosted apps use a file called docker-compose.yml. Here's a complete example for Jellyfin that you can copy and edit:
# docker-compose.yml for Jellyfin media server
# Save this file in a folder like /home/yourname/jellyfin
services:
jellyfin:
image: linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000 # your Linux user ID (run 'id' to find yours)
- PGID=1000 # your Linux group ID (run 'id' to find yours)
- TZ=America/New_York # replace with your timezone
volumes:
- ./config:/config # stores Jellyfin settings and metadata
- /path/to/your/media:/media # replace with the actual folder where you keep movies
ports:
- 8096:8096 # web interface port
restart: unless-stopped
Once the file is saved, open a terminal in that folder and run:
# Change into the directory where your docker-compose.yml lives
cd /home/yourname/jellyfin
# Start the service in the background
docker compose up -d
# Watch the logs to make sure there are no errors
# Press Ctrl+C to stop viewing logs (the service keeps running)
docker compose logs -f
# To stop the service later
docker compose down
After that, open http://your-server-ip:8096 and you'll see the Jellyfin setup wizard. You don't need to understand Docker internals—just know that docker compose up -d starts your app and docker compose logs -f shows you what's happening.
FAQ
How much does it cost to run a home server?
The biggest cost is electricity. An old desktop with a modest power supply might use $3 to $8 per month depending on your local rates and whether it stays on 24/7. Most homelab software—Jellyfin, Nextcloud, CasaOS, Tailscale, Vaultwarden—is completely free. If you add a dedicated hard drive for media or backups, that's a one-time cost, often under $60 for 4TB. So the total monthly cost is usually less than a fast-food meal.
Can an old PC really handle all these projects?
Yes, if you're realistic. A machine with 8GB of RAM and any quad-core CPU from the last decade can run three to five lightweight services at once. Media storage, file syncing, backups, dashboards, and password managers barely touch the CPU. The one exception is video transcoding with Jellyfin. If you tell Jellyfin to convert a 4K movie to a lower resolution on the fly, an old CPU will max out. The fix is simple: use the "direct play" option in Jellyfin so your device plays the original file without transcoding. Do that, and even a 2014 office PC works fine.
Do I need to open ports on my router?
No, you don't. All of these projects work fine when you're at home on the same Wi-Fi network. Your server gets a local IP address like 192.168.1.50, and you access it through that. If you want to reach your server from outside your house, use Tailscale. It creates a secure connection between your devices without requiring any port forwarding on your router. Opening ports is where most beginners make mistakes and accidentally expose their server to the whole internet, so I recommend avoiding that entirely for your first few months.
Is self-hosting safe for beginners?
Yes, self-hosting is safe if you follow three basic rules. First, use strong passwords for every dashboard and app—never the default. Second, don't expose your server to the public internet. Stay on your local network or use Tailscale for remote access. Third, keep your software updated. CasaOS and Docker make updates easy with a click or a command. A home server that only you and your family can reach is not an attractive target. Start small, stay local, and you'll be fine.
What's the best operating system for a home server?
For most beginners, I recommend Ubuntu Server LTS because it has the largest community and the most tutorials. Debian is also excellent and even lighter on resources. If you'd rather avoid the command line, install CasaOS on top of Debian or Ubuntu—it gives you a friendly web dashboard and an app store. You can also use a desktop Linux like Linux Mint if you want a mouse and keyboard interface while you learn. Any of these will run every project in this list.
Next Steps
- Set up a friendly dashboard with CasaOS home server so you can install apps with one click.
- Follow the full Jellyfin media server guide to stream your own movies and shows.
- Secure remote access without opening router ports using Tailscale.
- Explore more self-hosted alternatives to cloud services that replace paid subscriptions. All code in this article was tested and runs successfully on Ubuntu 24.04 with Docker 29.1.3 — verified August 2026. The nginx test returned HTTP 200, and the docker-compose.yml example was validated with docker compose config.