making a homelab for fun and profit
a while back, i ordered a mini pc on ebay for about $30. if you're not familiar with mini pcs, they're like little box computers with no display or keyboard. which is great if you already own a bunch of peripherals or if you plan on accessing the pc remotely via ssh! which is exactly what i do with mine. my mini pc currently runs my homelab services, so i don't have to leave my desktop running 24/7.
having homelab projects is really helpful if you're looking for an information technology job and wanting to learn it skills, but i would still recommend it even if you're not job hunting. being able to run your own services so you don't have to rely on a third party service is really helpful!
if you're thinking about starting a homelab for the first time, do it! it's not super expensive, especially if you can utilize things you already own. to configure ssh on the mini pc, i just used a vga monitor & old keyboard i already owned. you might not even need a mini pc if you have a broken laptop laying around. if you're looking for ideas for your homelab, here's a couple of the services i currently run on mine:
pihole
the first project i immediately did with the mini pc is set it up to run pihole. it's a dns sinkhole that blocks ads across your whole wifi network! it's a great way to learn about dns, and it's also really useful. i also use it to block known malware & phishing domains on my network.
i have pihole running in a docker container, which makes it really easy to resolve weird issues when they arise. i can just delete the container and remake it with the exact same settings in less than a minute, and it has actually solved strange issues for me before. i also have a cron job scheduled to update the blocklists every day at 1 am.
because i'm running the pihole in a docker container, i have encountered weird issues as a result. the web dashboard for pihole is typically accessed through pi.hole, but the pi.hole domain wasn't resolving to the pihole's ip address properly. i did some digging and found out that the pihole has a different ip address inside the docker container than the mini pc running the container, and it was sending the ip address inside the container rather than the ip address for the mini pc. i was able to fix this issue by adding two lines to my compose file, FTLCONF_dns_reply_host_IPv4: '[mini pc ip address]' and FTLCONF_dns_reply_host_force4: true so now it looks like this:
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
- "443:443/tcp"
environment:
TZ: '[put your timezone here]'
FTLCONF_webserver_api_password: '[password]'
FTLCONF_dns_listeningMode: all
FTLCONF_dns_reply_host_IPv4: '[mini pc ip address]'
FTLCONF_dns_reply_host_force4: true
volumes:
- './etc-pihole:/etc/pihole'
restart: unless-stopped
jellyfin
i use jellyfin to store my music! so now i can have all my music downloaded on my phone with no ads without having to pay for something like spotify premium. i recommend using finamp if you're connecting from an ios device to play music, because the official jellyfin app doesn't like to play music in the background. jellyfin is also good for saving videos and books.
jellyfin is more memory-heavy than the other services, so i have a cron job running to regularly remake the container just in case. i also have a usb drive attached because the mini pc does not come with a lot of storage space for my media files.
hardware specs & details
if you're looking for more technical details about my setup, here it is!
RAM: 8 GB
Storage on main drive: 16 GB SSD
Storage on USB drive: around 500 GB
CPU: AMD GX-420GI 2.00 GHz
GPU: AMD Radeon R6E Graphics
Model: HP t630 thin client
OS: Debian 13 (headless/no GUI)
future plans
maybe i'll eventually host this blog on the mini pc at some point? but right now i'm planning on adding a switch to my network so that i can work with VLANs to segment different kinds of devices on the network, which will hopefully help with security if i do self-host this blog. speaking of security, i've also wanted a firewall for my network but all the ones i looked at were so expensive, so that's probably going to be put off for a while. i'm also in the process of getting actualbudget set up so that i can have automated budgeting software. i suppose i could run a mastodon bot if i wanted to?
if you have any ideas, let me know! and if you have any questions, feel free to ask me on mastodon.
website updates
- minor css style improvements
- more buttons!
- fixed a meta tag that i wrote incorrectly, oops
- i removed the bluesky links bc i have not logged in there for a long time
- new website carbon rating!
- minimized image sizes for faster loading speeds