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.