Last updated: December 24, 2024 | Reading time: 6 minutes

My Tech Stack Evolution: A Year in Review

Table of Contents

Hello everyone! The past few months have been a whirlwind of technological changes and personal growth. In this comprehensive update, I’ll walk you through my recent homelab evolution, desktop environment changes, and the reasoning behind my hosting decisions. Whether you’re a fellow tech enthusiast or just curious about self-hosting, I hope you’ll find something valuable in this post.

Server Infrastructure Overhaul

TrueNAS Migration

After extensive research and testing, I made the decision to migrate from Proxmox to TrueNAS Scale for my primary server. This transition has been both challenging and rewarding. Here’s a breakdown of my setup:

  • Hardware Specifications:

    • CPU: [Your CPU Model]
    • RAM: [Your RAM Size]
    • Storage: [Your Storage Configuration]
    • Network: [Your Network Setup]
  • Why TrueNAS?

    • Integrated ZFS support for data integrity
    • User-friendly web interface
    • Built-in Docker/Kubernetes support
    • Active community and development

Docker Services

Using Jailmaker, I’ve created a dedicated Docker VM that hosts several essential services:

Service Purpose Status
Nginx Proxy Manager Reverse proxy with SSL termination
Vaultwarden Self-hosted password manager
Paperless-ngx Document management system
Mealie Recipe management
Mosquitto MQTT broker for IoT devices

Home Automation

  • Home Assistant: Running as a VM on TrueNAS

    • Integrated with all smart devices
    • Custom automations for energy efficiency
    • Mobile app for remote access
  • TP-Link Omada Controller:

    • Managing wireless access points
    • Network segmentation with VLANs
    • Guest network with bandwidth limiting

Desktop Environment

Pop!_OS Experience

After over a decade of using Windows, I made the switch to Pop!_OS on my primary workstation. Here’s my experience so far:

  • Why Pop!_OS?
    • Based on Ubuntu LTS for stability
    • Excellent NVIDIA support out of the box
    • Tiling window manager (thanks to Pop Shell)
    • Clean, polished desktop environment

Development Setup

I’ve configured my development environment with the following tools:

  • Code Editors & IDEs

    • VS Code with custom extensions
    • Neovim with LunarVim configuration
    • JetBrains Toolbox for specific IDEs
  • Terminal & Shell

    • Zsh with Oh My Zsh
    • tmux for terminal multiplexing
    • Custom prompt with Git integration
  • Containerization

    • Docker and Docker Compose
    • Podman for rootless containers
    • Kubernetes (minikube) for local development
  • Media Production

    • DaVinci Resolve for video editing
    • OBS Studio for screen recording
    • GIMP and Inkscape for graphics

Web Hosting Solution

Migration to DigitalOcean

After years of self-hosting my websites, I’ve migrated to DigitalOcean Droplets for improved reliability. Here’s why I made this decision:

  • Uptime: Target of 99.9% uptime (vs ~95% with home hosting)
  • Performance: Global CDN and SSD storage
  • Security: Automatic OS updates and firewalls
  • Backups: Automated daily snapshots

Current Stack

  • Operating System: Ubuntu 22.04 LTS
  • Web Server: Nginx with HTTP/3 (QUIC) support
  • SSL: Let’s Encrypt with auto-renewal
  • Deployment: Automated CI/CD pipeline
  • Monitoring: Uptime monitoring with status page

Cost Analysis

Service Monthly Cost Notes
DigitalOcean Droplet $6 Basic droplet with 1GB RAM
Backup Snapshots $1 Weekly backups retained for 4 weeks
Domain Names $20/year Multiple domains with privacy protection
Total ~$10/month Reliable hosting with room to scale

Personal Reflections

Life’s Challenges

The past few months have been a mix of technological achievements and personal challenges. My family has been going through a difficult time, with my grandmother’s health concerns and the loss of two family members around Thanksgiving. These events have been a reminder of what truly matters in life.

Finding Balance

Balancing my passion for technology with personal well-being has been an ongoing journey. I’ve learned to:

  • Set realistic expectations for projects
  • Take breaks when needed
  • Appreciate the present moment
  • Be grateful for supportive relationships

Looking Ahead

As we move into the new year, I’m excited about:

  • Further optimizing my homelab setup
  • Creating more educational content
  • Continuing to learn and grow both personally and professionally
  • Finding ways to give back to the tech community

Thank you for being part of this journey with me. Your support and engagement mean the world. If you have any questions about my setup or want to share your own experiences, feel free to leave a comment below.

Wishing you all a peaceful holiday season and a wonderful new year!


For more tech insights and updates, consider subscribing to my newsletter or following me on Twitter.