My self hosting journey in 2024

πŸ“† Β· ⏳ 6 min read Β· Β·

Introduction

As we wrap up 2024, I want to reflect on my self-hosting journey this year. Looking back at my 2023 homelab journey, it’s amazing to see how much has evolved - from hardware upgrades to better infrastructure practices, and the addition of many new services.

This year has been particularly exciting as I’ve not only expanded my homelab but also improved its reliability and maintainability. Let’s dive into the major milestones and learnings from this year.

Hardware Upgrade: Orange Pi 5 Plus

One of the most significant changes this year was upgrading from a Raspberry Pi 5 to an Orange Pi 5 Plus. While the Raspberry Pi 5 served me well, I needed more power for running services like Jellyfin and Immich with its hardware acceleration capabilities.

The Orange Pi 5 Plus, with its RK3588 processor, has been a game-changer:

  • 8 cores
  • Up to 32GB RAM support (Mine’s 16GB though)
  • More powerful GPU
  • PCIe support

This upgrade has allowed me to run more resource-intensive services smoothly as well as being able to connect external storage devices directly via the PCIe slot to the server giving me a lot more flexibility in terms of storage.

Infrastructure Configuration as Code with Ansible

Perhaps the most impactful change in my homelab management has been adopting Ansible for Infrastructure Configuration as Code. This transition has made my setup more reproducible and easier to maintain.

Key benefits I’ve experienced:

  • Documented infrastructure setup.
  • Easy server migrations.
  • Consistent configurations across servers.
  • Version-controlled configurations.
  • Easy upgrades and rollbacks.

Here’s a glimpse of how my Ansible structure looks:

# Example playbook structure
homelab
β”œβ”€β”€ README.md
β”œβ”€β”€ ansible.cfg
β”œβ”€β”€ dev-requirements.txt
β”œβ”€β”€ galaxy-requirements.yml
β”œβ”€β”€ group_vars
β”‚ └── all
β”‚ β”œβ”€β”€ hosts.yml
β”‚ β”œβ”€β”€ secrets.yml
β”‚ β”œβ”€β”€ services.yml
β”‚ └── vars.yml
β”œβ”€β”€ inventory
β”‚ └── hosts
β”œβ”€β”€ roles
β”‚ β”œβ”€β”€ docker
β”‚ β”œβ”€β”€ dotfiles
β”‚ β”œβ”€β”€ scripts
β”‚ β”œβ”€β”€ ssh
β”‚ β”œβ”€β”€ system
β”œβ”€β”€ scripts
β”‚ β”œβ”€β”€ deploy.sh
β”‚ β”œβ”€β”€ lint.sh
β”‚ └── setup.sh
└── run.yml

This structure has made it incredibly easy to:

  • Set up new servers.
  • Update existing configurations.
  • Maintain consistency across services.
  • Track changes over time since I’m using git for version control.
  • Easy upgrades and rollbacks with versions tracked in versions.yml file.

Overall, this was the best decision I made this year for my homelab.

From Nginx to Caddy

One of the major changes this year was migrating from Nginx with self-signed certificates to Caddy with automatic SSL certificates. This move has simplified my reverse proxy setup while improving security.

Benefits of switching to Caddy:

  • Automatic SSL certificate management
  • Simpler configuration syntax
  • Built-in HTTPS by default (no more self-signed certificates)
  • Automatic HTTP to HTTPS redirection
  • Better integration with modern web standards

Git-Sync: A Developer’s Solution

As a developer, I wanted a reliable way to backup my Git repositories from various platforms. This led me to create git-sync ↗️, a tool written in Go that:

  • Periodically backs up Git repositories
  • Supports multiple Git platforms
  • Maintains repository structure
  • Handles rate limiting gracefully
  • Provides detailed logging

This project not only solved my backup needs but also helped me learn Go programming, which I’ve found particularly useful for system tools.

New Services and Improvements

Throughout the year, I’ve explored and implemented various new services:

Document Storage and Management

Media Management

Security and Authentication

Monitoring and Notifications

Documentation and Knowledge Base

Password Management

  • Vaultwarden for password management. I have officially moved out from Bitwarden cloud to self-hosting my own vault with Vaultwarden.

Active Participation in Community

I have been active on Reddit’s r/selfhosted ↗️ subreddit. By far this has been the best way for me to learn about new services and experiences of other self-hosters around the world.

I also had a great opportunity to connect with some of the folks digitally as well as met some folks in real life from India who are into self-hosting.

Occasionally, I try to contribute to the community by sharing my experiences and learnings through blog posts.

What’s Next for 2025?

Looking ahead, I have several exciting plans that I wish (and hope) to achieve in 2025:

Hardware Expansion

I want to setup a dedicated NAS server with a lot more storage than I currently have. The goal would be to able to move files that I am currently storing on Cloud to my own NAS (with backups of course still being stored on some cloud storage).

Service Improvements

Currently, my backup strategy is specific only to backing up application data via specific backup scripts which encrypts them with GPG and move them to off-site storage.

I want to improve my backup strategy to be able to backup all my data (documents, photos, videos, etc.) and be able to restore them if needed. This again ties into my goal of moving all my files to my own NAS.

Apart from backups, I also want to improve my monitoring setup and make it more robust and reliable as well as aim for higher availability of my services.

Learning Goals

I am learning few other things as a developer that I want to leverage to build some tools for my homelab, so that would be one thing that I want to focus on in 2025. I will be sharing more about this in my blog posts in future.

Along with this, I plan to learn more about containerization and how I can leverage it for higher availability of some of my core services that I am running on my homelab.

I am using Ansible for configuration as code, but I want to explore other tools like Terraform ↗️ or Pulumi ↗️ for managing my homelab infrastructure. I hope I get a chance to explore this in 2025.

Conclusion

2024 has been a transformative year for my homelab. The journey from basic self-hosting to a more sophisticated setup has been both challenging and rewarding. The improvements in hardware, infrastructure management, and services that I am self-hosting have made my homelab more reliable and useful than ever.

I’m looking forward to what 2025 brings and continuing to share my experiences with the self-hosting community. If you’re interested in any specific aspects of my setup or have questions, feel free to reach out on Twitter ↗️ / Reddit ↗️.

Happy homelabbing, and here’s to another year of self-hosting adventures! πŸš€

You may also like

  • # homelab# personal

    My self hosting journey in 2023

    In the journey of homelabbing, I have started self hosting some really amazing services that I am using in my day to day life. This blog outlines what all service I am self hosting in my homelab and what I plan to explore in the upcoming year.

  • # homelab# selfhosted

    Ntfy β€” Self-hosted push notification server for all your services

    Ntfy is a simple yet powerful pub-sub notification service that lets you send push notifications to your phone or desktop from any of your self-hosted services. Perfect for monitoring, alerts, and automation in your homelab.

  • # homelab# selfhosted

    MeTube β€” Self-hosted YouTube downloader with a sleek web interface

    MeTube is a web UI for youtube-dl/yt-dlp that allows you to download videos from YouTube and other platforms. It's perfect for archiving your favorite content or downloading videos for offline viewing.