Skip to content

Docker Environment

All self-hosted services in the irosec homelab run as Docker containers inside a dedicated Ubuntu VM on Proxmox. Containers are managed via Portainer and defined using Docker Compose.


Host VM

PropertyValue
OSUbuntu 22.04 LTS
DockerDocker Engine with Compose v2
ManagementPortainer

Running Services

ServicePurposeExposed
PortainerDocker container management UILocal only
Starlight (nginx)This documentation sitePublic (wiki.irosec.com)
PlexPersonal media serverPublic
Nginx Proxy ManagerReverse proxy & SSL terminationPublic
GlanceLocal network homepage/dashboardLocal only
TautulliPlex monitoring & analyticsLocal only
FireshareSelf-hosted video sharingPublic
ErsatzTVPersonal IPTV channel serverLocal only
ZiplineSelf-hosted image sharingPublic
IT-ToolsBrowser-based utility toolkitLocal only
Unifi ToolkitUnifi network utilitiesLocal only
VaultwardenSelf-hosted password managerLocal only
MealieSelf-hosted recipe managerLocal only

Reverse Proxy & SSL

All external-facing services sit behind Nginx Proxy Manager and Cloudflare DNS which handles:

  • SSL termination via Let’s Encrypt
  • Subdomain routing (e.g. wiki.irosec.com, plex.irosec.com)
  • Access control for sensitive services

Security Considerations

Running a password manager and other sensitive services in this environment means security is a real concern, not just a learning exercise. Current and planned hardening steps are documented in the Security Stack section.


Backup Strategy

  • VM snapshots are taken before any major changes
  • Docker container stacks are manually backed up to the UNAS Pro
  • Configs and database files are saved as snapshots on the UNAS Pro