My Homelab Services so far!

Homelab Setup Overview Hardware Specs: 3x Intel NUC 13th Gen (32GB RAM, 1TB NVMe each) Synology DS1821+ NAS (40TB raw storage) Ubiquiti Dream Machine Pro Raspberry Pi 4 cluster (8 nodes) Core Stack: Proxmox VE (Virtualization) TrueNAS Scale (Storage) K3s Kubernetes (Container Orchestration) Docker Swarm (Legacy container management) Core Infrastructure Services 1. Proxmox VE Purpose: Bare-metal hypervisor for VM management Key Features: LXC containers, ZFS support, cluster management Why I Use It: Perfect balance between enterprise features and homelab usability 2. TrueNAS Scale Storage Setup: 40TB ZFS pool (RAID-Z2) Services Hosted: SMB/NFS shares for media storage iSCSI targets for VM storage S3-compatible object storage via MinIO 3. K3s Kubernetes Cluster Nodes: 3 master nodes (NUCs), 8 workers (RPi cluster) Key Components: Longhorn distributed storage Traefik ingress controller Cert-Manager for SSL certificates ArgoCD for GitOps deployments Networking Services 1. OPNSense Firewall Features: VLAN segmentation, IDS/IPS, WireGuard VPN Bandwidth: 1Gbps symmetric fiber handling Custom Rules: Isolated IoT network, guest WiFi restrictions 2. Pi-hole + Unbound Stats: Blocks ~30% of DNS queries (50k+ domains) Setup: Dockerized with gravity-sync for redundancy Custom: Whitelist for streaming services 3. Tailscale Mesh VPN Use Case: Secure remote access to homelab services Integration: Exit node for secure browsing anywhere ACLs: Role-based access to specific services Media & Entertainment Stack 1. Plex Media Server Library Stats: 4K HDR movies, automated TV show downloads Hardware Acceleration: Quadro P2000 passthrough Users: 15 family members with shared access 2. *Arr Suite Components: Sonarr, Radarr, Lidarr, Readarr Automation: Triggered by Overseerr requests Storage: 20TB media library on TrueNAS 3. Audiobookshelf Content: 500+ audiobooks, 300 podcasts Features: Mobile sync, progressive web app Backup: Nightly sync to Backblaze B2 Development & Automation Tools 1. GitLab CE Features: CI/CD pipelines, container registry Integration: Auto-deploys to K3s via ArgoCD Stats: 150+ private repositories 2. Home Assistant Devices: 80+ connected IoT devices Automations: 45 Node-RED flows Dashboards: 6 custom UIs for different family members 3. Vaultwarden Usage: Family password manager Security: Behind Authelia with 2FA Backup: Encrypted daily snapshots Monitoring & Observability 1. Grafana + Prometheus Dashboards: 15+ custom boards Metrics: 200k+ time series collected Alerts: Slack/Pushover notifications 2. Uptime Kuma Monitored Services: 45 endpoints Status Page: Public-facing with SLA metrics Incidents: Automatic Discord notifications 3. NetData Real-time Monitoring: Per-second metrics Anomaly Detection: ML-powered alerts Integration: Kubernetes cluster insights Backup Strategy 3-2-1 Rule Enforcement: ...

2024-12-04 · 3 min

Creating a Secure File Transfer System with SFTP and Docker

What You’ll Need A server or virtual machine with Docker installed. Basic understanding of networking and file permissions. An SSH client for testing SFTP connections. Step 1: Install Docker (If Not Installed) Update the system packages: sudo apt update && sudo apt upgrade -y Install Docker: sudo apt install -y docker.io Enable and start Docker: sudo systemctl enable docker && sudo systemctl start docker Step 2: Set Up the SFTP Directory Create a directory structure for SFTP users: ...

2024-12-04 · 3 min

Running Docker Containers on a Raspberry Pi: A Step-by-Step Guide

Docker containers are lightweight and portable, making them a great tool for running applications in your homelab. A Raspberry Pi is an ideal low-cost, low-power device for hosting Docker containers. This guide will walk you through setting up Docker on a Raspberry Pi and deploying your first container. What You’ll Need A Raspberry Pi (recommended: Raspberry Pi 3, 4, or newer). MicroSD card with Raspberry Pi OS Lite installed. A stable internet connection. Basic knowledge of Linux commands. Step 1: Update and Prepare Your Raspberry Pi Log into your Raspberry Pi via SSH: ssh pi@<raspberry_pi_ip_address> Update and upgrade the system packages: sudo apt update && sudo apt upgrade -y Install prerequisite packages: sudo apt install -y apt-transport-https ca-certificates curl software-properties-common Step 2: Install Docker on the Raspberry Pi Download the official Docker installation script: curl -fsSL https://get.docker.com -o get-docker.sh Run the installation script: sudo sh get-docker.sh Add your user to the docker group (replace pi with your username if different): sudo usermod -aG docker pi Log out and back in to apply the changes. ...

2024-12-04 · 3 min