PROJECTS / ACTIVE BUILDS

Systems I learn by operating.

My projects focus on practical infrastructure: virtualization, storage, Kubernetes, high availability, network services, automation, observability, and secure access inside a continuously evolving home lab.

ZAMAN LABSILHAM ZAMAN
LOCATION~/
SESSIONzaman-sh · portfolio
FOCUSplatform security
01

Featured Projects

01
01 / INFRASTRUCTURE & AUTOMATION

Home Lab Infrastructure

↳ View Home Lab Infrastructure case study →

A continuously evolving environment where I operate real services and turn classroom concepts into practical experience across virtualization, storage, automation, monitoring, networking, and systems administration.

Hermes Agent extends the environment with a self-hosted AI operations layer for read-only-first investigation, infrastructure documentation, and approval-gated administrative workflows.

Proxmox VETrueNAS SCALEKubernetesK3sLonghornTerraformAnsiblePrometheusGrafana
NginxTechnitium DNSCloudflare TunnelHermes AgentHoncho
01 / VIRTUALIZATION

Proxmox Home Lab

A Proxmox VE environment hosting isolated virtual machines and Linux containers for DNS, monitoring, media, dashboards, and secure ingress services.

Proxmox VEQEMULXCLinux
02 / STORAGE

TrueNAS Storage

Bulk storage built around eight hard drives in a RAIDZ3 layout, with attention to redundancy, permissions, file access, and future backup improvements.

TrueNAS SCALEZFSRAIDZ3SMB
03 / INFRASTRUCTURE AS CODE

Infrastructure as Code

I use Terraform to define and provision Proxmox workloads as code, then Ansible from Alma-MGMT to apply baseline configuration, patch Linux systems, validate services, run health checks, coordinate backups, and perform controlled reboots. Inventory, playbooks, and infrastructure changes are version-controlled in Git so recurring maintenance stays repeatable and auditable.

TerraformAnsibleProxmox VEAlmaLinuxBashGit
04 / OBSERVABILITY

Monitoring Stack

Prometheus and Grafana monitor infrastructure and K3s health, with alerting for the services that matter most. Uptime Kuma tracks availability, while Homepage brings system and service status into one internal dashboard.

PrometheusGrafanaK3sLonghornUptime KumaHomepage
05 / NETWORK SERVICES

DNS & Secure Access

Technitium DNS provides internal resolution and network-level filtering. Nginx handles reverse proxying and service failover, while Cloudflare Tunnel provides controlled external access without directly exposing internal services.

Technitium DNSNginxCloudflare TunnelDNSTLS
06 / SERVICES

Self-Hosted Applications

Jellyfin, Immich, and internal dashboards run as managed services across Linux VMs, containers, and Kubernetes, giving me hands-on experience with deployment, permissions, updates, monitoring, and troubleshooting.

JellyfinImmichDebianFedoraContainers
07 / AI OPERATIONS

Hermes Agent

A self-hosted Hermes Agent runs on a dedicated Ubuntu Server VM with a cloud-hosted language model, private Discord access, and a self-hosted Honcho memory stack. A dedicated SSH identity connects it to Alma-MGMT for read-only-first investigation, weekly maintenance checks, service validation, security review, troubleshooting, and approval-gated infrastructure actions.

Hermes AgentUbuntu ServerCloud-hosted LLMHonchoDocker Compose
08 / HIGH AVAILABILITY

Jellyfin K3s Cluster

Jellyfin runs as a single active workload across a three-node K3s server/control-plane/etcd cluster. Longhorn keeps two replicas of application state, TrueNAS supplies shared media, and Nginx routes traffic between primary and failover nodes. I tested controlled transfers and automatic failover so Jellyfin can recover on another node without rebuilding its configuration.

KubernetesK3setcdLonghornTrueNASNginxJellyfin
02
02 / KUBERNETES & HIGH AVAILABILITY

Jellyfin High Availability on K3s

Built a three-node K3s cluster with embedded etcd for an active-passive Jellyfin deployment. I migrated Jellyfin application state to two-replica Longhorn storage, preserved TrueNAS-backed media access, and configured Nginx primary/backup routing so the service can recover between the two media nodes. Controlled transfers were validated at roughly 27 seconds, hard-failure recovery was tested in both directions, and Prometheus/Grafana now monitor the Kubernetes, Jellyfin, Longhorn, and cluster-readiness layers.

KubernetesK3setcdLonghornJellyfinNginxPrometheusGrafana
03
03 / SOFTWARE DEVELOPMENT

Discord Chatbot Development

Independent learning project completed from March 2020 to March 2021. I developed custom Discord bots using JavaScript, Node.js, the Discord.js API, and MongoDB for information logging and persistent data storage.

JavaScriptNode.jsDiscord.jsMongoDB
02

Project philosophy

I treat the lab as an environment to practice the full lifecycle of infrastructure: design, deployment, maintenance, monitoring, troubleshooting, documentation, and recovery planning.