Purpose & Goals

To create a self-directed learning environment — Experience beats observation. What I hope to get better at:

  • Production-grade technologies
  • System design and DevOps practices
  • Automation and scripting
  • Technical documentation design & teaching those concepts
  • Creating useful services for myself (like this site!)

Hardware

  • CPU: AMD Ryzen 9 5950X (16C / 32T, x86_64)
  • Memory: 128GB (total)
  • Storage: • 1x 2 TB NVMe SSD
    • Proxmox VE default LVM layout
    • 96 GB root volume, 8 GB swap
    • 1.7 TB LVM-thin pool for VM disks
    • VM 100 disk: 16 GB
    • VM 101 disk: 32 GB
  • Network: Dual 1 GbE Ethernet NICs (1 active)
  • OS: Proxmox VE 9.1 (Bare Metal)

Architecture

Network Topology

Observability

GitOps

Services

Core Infrastructure

ServicePurposeURL/AccessStackExposure
ProxmoxVirtualization10.0.0.10Bare metalLAN
PiVPNVPNx.ptaszek.studioVMPublic (UDP)
PiHoleDNS server + AD blocker10.0.0.159VMLAN
TraefikReverse-proxy10.0.0.206:8080ContainerLAN

User Services

ServicePurposeURL/AccessStackExposure
Dockerized-QuartzSite hosting + buildingptaszek.studioContainerPublic (HTTP/S)
Calibre webE-book management10.0.0.206:8083ContainerInternal

Observability

ServicePurposeURL/AccessStackExposure
PrometheusMetrics aggregationprometheus:9090ContainerLAN
GrafanaDashboardsgrafana.ptaszek.studioContainerPublic (HTTP/S)
LokiLogs aggregationloki:3100ContainerLAN
PromtailLog shipperSystemdLAN
Node ExporterMetrics shipperSystemdLAN
cAdvisorContainer Metrics CollectioncAdvisor:8080ContainerInternal

Docs & Version Control

ServicePurposeURL/AccessStackExposure
GiteaVersion controlgitea:3000ContainerInternal
Gitea-runnerGitea CI/CDContainerInternal
PostgresGitea databasepostgres:5432ContainerInternal
Quartz-docsDocumentation sitedocs.ptaszek.studioContainerPublic (HTTP/S)