Randomblogz
  • Welcome!
  • Latest
    • My Home Server Setup - Part I
  • Archived
    • Threat Libraries
    • Chaos engineering
Powered by GitBook
On this page
  1. Latest

My Home Server Setup - Part I

PreviousWelcome!NextThreat Libraries

Last updated 2 months ago

Years ago, when I was experimenting with single-board computers (SBCs), I was amazed by the capabilities of the Raspberry Pi. My initial plan was to use it for a home automation system for hydroponics, but that project didn’t quite work out. However, I later repurposed it as a DNS security tool for my home network. For ease of deployment, I set up Pi-hole using Docker on Raspberry Pi OS.

Since I had a containerized service running on the Raspberry Pi, I started experimenting with other self-hosted applications like Gitea, Nextcloud, and a few others. While this was an exciting learning experience, I encountered several challenges over time:

Challenges with Raspberry Pi as a Home Server

  • Performance and Heating Issues: SBCs aren’t designed to run multiple services continuously. While they can handle it, they tend to overheat, and performance degrades significantly. Over time, as I added more services, resource usage increased exponentially.

  • Storage and Connectivity: While the Raspberry Pi supports USB hard drives, managing multiple external components without a dedicated case quickly becomes cluttered. More wires mean more complexity, and ensuring proper spacing to avoid overheating and static buildup adds another maintenance layer.

  • Stability: Frequent OS crashes and unexpected reboots were common. Stability remained an issue even with controlled temperature management using smart plugs for scheduled power cycles and only installing necessary updates. The SD card would eventually become corrupted or unstable. Additionally, working with ARM architecture posed its own set of compatibility challenges.

Given these limitations, I decided to upgrade to a small, power-efficient, silent, stable, and compact x86-based system. I opted for a used Dell OptiPlex, which I got at a great price. Currently, I have two of them running as my home servers.

My Home Server Setup

For the OS, I chose Manjaro Linux on both servers. Manjaro is lightweight, has minimal bloatware, and offers excellent package management, making it a solid choice for my use case. For container management, I run Docker on both machines and manage the containers via Portainer for a simple and efficient workflow.

Here are the services I use daily:

Container Management

  • – A great Docker management solution

Dashboards & Monitoring

  • – A customizable dashboard that serves as my homepage, linking to all my services and bookmarks

  • – Monitors service health and can send alerts to Slack, Discord, and other platforms

Coding & Development

Utilities

Productivity

Storage & Backup

Security

I'm still in the process of setting up additional services and will share more updates in the future. Stay tuned!

Future Plans

As I continue refining my home lab, I plan to explore more advanced configurations, including:

  • Kubernetes or Docker Swarm: To improve container orchestration and scalability

  • Self-Hosting Email Services: Setting up a mail server with improved privacy and security

  • VPN and Zero Trust Networking: Implementing a WireGuard-based VPN and exploring solutions like Tailscale for secure remote access

  • Home Automation: Revisiting my original hydroponics project using Home Assistant and IoT devices

  • AI and Machine Learning: Running small-scale ML models for personal projects, such as image recognition or automation

This journey has been a rewarding learning experience, and I look forward to sharing more insights in the next part of this series. If you're building your own home server, I'd love to hear about your setup and experiences!

– A web-based IDE, useful for making quick configuration changes

– A lightweight Git repository management system

– This is an Automation and workflow management tool with good integrations

– A collection of handy scripts

– Synchronizes and backs up files across devices

– A self-hosted alternative to Spotify

– A powerful PDF management tool

– A meal and recipe management service

– Local photo storage and management

– A self-hosted media streaming service with cross-platform support

– A document and note management tool

– An RSS aggregator for consolidating all my feeds

– A document management service with tagging for easy organization

– A digital library for reading manga and books

– A personal finance management tool

– A personal relationship manager; I use it for journaling, though it has many other features

– A self-hosted cloud storage solution

– An S3-compatible storage alternative for large files

– A robust backup solution (Pro tip: Always back up your data! Things may seem stable until an unexpected update wipes everything out.)

– A DNS-based ad blocker and network security tool

– A self-hosted password manager

Portainer
Homarr
Uptime Kuma
CodeServer
Gitea
Windmill
ITTools
Syncthing
Airsonic
StirlingPDF
Mealie
Photoprism
Jellyfin
DocMost
FreshRSS
Teedy
Kavita
Firefly III
Monica
Nextcloud
Minio
Duplicati
Pi-hole
Bitwarden
Page cover image