Portfolio — Infrastructure

Krzysztof Kaletka

Junior Linux / Infrastructure

Ten projekt to mój prywatny serwer (homelab) — komputer, na którym samodzielnie zbudowałem i utrzymuję działającą infrastrukturę: własny serwer DNS blokujący reklamy, bezpieczny dostęp z internetu bez otwierania portów, menedżer haseł, system monitorujący stan serwera na żywo. Całość opisana jako kod — mogę odtworzyć wszystko od zera jednym poleceniem, a każda zmiana przechodzi ten sam proces co w firmie: branch, przegląd kodu, automatyczne testy, dopiero wdrożenie.

Homelab jako projekt

Zbudowane jako kod, nie jako notatka

Cała infrastruktura stoi na wirtualnej maszynie AlmaLinux 9, uruchomionej na QNAP TS-264 przez Virtualization Station. Osiem ról Ansible — Docker, DNS z blokowaniem reklam (Blocky), ta strona, reverse proxy z automatycznym TLS (Caddy), monitoring, menedżer haseł (Vaultwarden), dashboard usług (Homepage) i zero-trust tunnel (cloudflared) — są spięte wspólną siecią Docker i wdrażane jednym poleceniem. Każda zmiana przechodzi ten sam proces co w firmie: osobny branch, pull request, automatyczny lint i syntax-check w GitHub Actions, Vagrant, dopiero potem wdrożenie na żywy system.

  • Ansible
  • Docker
  • Caddy
  • Cloudflare Tunnel
  • Prometheus
  • Grafana
  • GitHub Actions
Zobacz kod →

Dowody, nie deklaracje

Cztery razy, gdy coś się zepsuło

Homelab jako kontenery nie eliminuje awarii — zamienia jedną kategorię problemów na inną. Poniżej cztery, które faktycznie wystąpiły i zostały zdiagnozowane od zera.

Monitoring

Metryki

Prometheus, node_exporter, cAdvisor i Grafana — dashboardy provisionowane w całości jako kod (allowUiUpdates: false), nie klikane ręcznie w interfejsie. Definicje paneli JSON żyją w repozytorium jako jedyne źródło prawdy.

Zobacz kod monitoringu →

Ta strona

Ta strona jako dowód

To, co właśnie oglądasz, jest hostowane na tej samej infrastrukturze opisanej wyżej — bez otwartych portów, przez Cloudflare Tunnel, serwowane bezpośrednio przez Caddy. Sama treść to osobne, publiczne repozytorium.

kaletkadev-portfolio-site →

Kontakt

Porozmawiajmy