π Hasaam's Homelab
Documentation for everything I self-host: a NAS appliance (ShiNAS), a repurposed laptop (ShineoriServer), and lab VMs on my Windows PC.
flowchart LR
subgraph ShiNAS
A[Identity & security]
B[Media]
C[Apps]
D[Game servers]
end
subgraph ShineoriServer
E[Minecraft]
F[Local AI]
I[Immich ML]
J[Monitoring & dashboard]
K[Light apps]
end
subgraph Windows PC
G[Security labs]
H[The Forest]
end
β Featured write-ups
Full write-ups with architecture, security decisions, troubleshooting and lessons learned:
| Write-up |
Highlights |
| π Cloudflare Tunnel |
Zero open ports, a security audit of my own setup (5 findings, all fixed), Zero Trust gate on the NAS admin panel |
| π Authentik SSO |
Self-hosted identity provider, passwordless passkeys, OIDC into my apps |
| π‘οΈ auditd + Discord alerts |
Kernel-level audit rules mapped to attacker goals, real-time alerting through an auditd plugin I wrote |
| π Vaultwarden |
Self-hosted password manager with a zero-knowledge design; found and closed open public sign-ups, now invite-only |
| π Moving services off the NAS |
Diagnosed a RAM-starved NAS and moved 6 services to a second server, including Docker volume migrations, a broken host VPN, a dead image registry and a damaged image |
| πΈ Immich |
Multi-container photo platform: ML face recognition, vector smart search, SSO through Authentik |
Services
Status legend
|
Status |
Meaning |
| π’ |
Running |
Live and in daily use |
| π‘ |
In progress |
Being built or still being configured |
| π΅ |
Planned |
Researched and on the roadmap, not built yet |
| β« |
Retired |
Shut down, kept here for the write-up and lessons learned |
| βΈοΈ |
On demand |
Installed and working, but only started when I need it |
Security & identity
| Service |
Host |
Status |
What it does |
| Authentik |
ShiNAS |
π’ |
Single sign-on and identity provider for the lab |
| Vaultwarden |
ShiNAS |
π’ |
Self-hosted Bitwarden server for passwords, TOTP and passkeys |
| auditd + Discord alerts |
ShiNAS |
π’ |
Host-level audit logging with real-time Discord webhook alerts |
Networking & monitoring
| Service |
Host |
Status |
What it does |
| Cloudflare Tunnel |
ShiNAS |
π’ |
Publishes selected services to the internet with no open ports |
| Omada Controller |
ShiNAS |
βΈοΈ |
Manages TP-Link Omada network gear |
| Homarr |
ShineoriServer |
π’ |
Dashboard / home screen for every service |
| Diun |
ShiNAS + ShineoriServer |
π’ |
Watches every container image and pings Discord when a new stable version ships |
| Uptime Kuma |
ShineoriServer |
π’ |
Uptime monitoring and alerts for every service |
| Service |
Host |
Status |
What it does |
| Jellyfin |
ShiNAS |
π’ |
Media server for movies and shows |
| Immich |
ShiNAS |
π’ |
Self-hosted Google Photos replacement |
| *arr stack |
ShiNAS |
π’ |
Prowlarr + arr apps + qBittorrent routed through gluetun/ProtonVPN |
| qBittorrent (standalone) |
ShiNAS |
βΈοΈ |
Separate qBittorrent instance with tracker-specific rules |
| Audiobookshelf |
ShiNAS |
π’ |
Audiobook and podcast server |
Apps
| Service |
Host |
Status |
What it does |
| Dawarich |
ShineoriServer |
π’ |
Self-hosted location history (Google Timeline replacement) |
| Flowcase |
ShiNAS |
βΈοΈ |
Browser-based isolated workspaces (Kasm-style), routed through ProtonVPN |
| Ghiro |
ShineoriServer |
βΈοΈ |
Image forensics web app |
| Paperless-ngx |
ShiNAS |
π’ |
Scans, OCRs and organizes documents so they're searchable |
| Karakeep |
ShineoriServer |
π’ |
Self-hosted bookmark and read-it-later manager |
Game servers
AI
| Service |
Host |
Status |
What it does |
| Ollama + Open WebUI + SearXNG |
ShineoriServer |
π’ |
Local LLM stack with private web search |
| Hermes Agent |
ShineoriServer |
π’ |
Local AI agent that reads release notes and posts update verdicts in Discord, behind layered guardrails |
Security labs
| Service |
Host |
Status |
What it does |
| Pentesting lab |
Windows PC |
π’ |
Attacker/target lab for practicing offensive security legally |
| OPNsense router lab |
Windows PC |
π’ |
Virtual OPNsense router in VMware Workstation Pro, rehearsal for a NUC router |
| EVE-NG |
Windows PC |
π‘ |
Network emulation lab (Community Edition) |
Web
| Service |
Host |
Status |
What it does |
| Terminal resume site |
ShiNAS |
π’ |
Interactive terminal-style resume served from NGINX in Docker |
Infrastructure