TechBalkans
Vodiči

HomeLab za programere — 100-500€ setup sa konkretnim primjerima 2026

Želite učiti DevOps, testirati aplikacije u izolaciji, ili imati vlastiti Git server? HomeLab je najjeftiniji način. Evo 3 setupa od 100€ do 500€ sa svim detaljima i konkretnim docker-compose fajlovima.

DS

Denis Softić

Softverski inžinjer · 31. august 2026. · 12 min čitanja

HomeLab za programere — 100-500€ setup sa konkretnim primjerima 2026

Imam HomeLab od 2019. Počeo sam sa Raspberry Pi 3, danas imam 3-node Kubernetes klaster u dnevnoj sobi. Sve što sam naučio o production sistemima — load balancing, monitoring, CI/CD — naučio sam na vlastitom hardveru prije nego u firmi. HomeLab je najjeftiniji način da postanete senior inženjer.

Ovo su 3 setupa, od početnika do naprednog:

Setup 1: Starter (€100) — za apsolutne početnike

Hardver:

  • Raspberry Pi 4 (8 GB) — €80
  • Samsung 870 EVO 500 GB SSD (preko USB 3.0 SATA adaptera) — €35
  • MicroSD kartica 32 GB (sistem) — €8
  • Službeno napajanje 5V/3A — €12

Ukupno: ~€135

Šta radi:

  • Docker + Portainer
  • GitLab CE (self-hosted)
  • Vaultwarden (password manager)
  • Nextcloud (file sync)
  • WireGuard (VPN)
  • Uptime Kuma (monitoring)

Šta NE radi:

  • Kubernetes (previše za 8 GB)
  • Video transcoding
  • 10+ istovremenih korisnika

Setup (45 min):

# Raspberry Pi OS Lite 64-bit
# Instalirajte preko Raspberry Pi Imager-a

# Osnovni setup
sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl

# Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER

# Portainer
docker run -d -p 9000:9000 --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

docker-compose.yml:

version: "3.8"
services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    restart: always
    hostname: gitlab.local
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.local'
        gitlab_rails['smtp_enable'] = false
    volumes:
      - gitlab_config:/etc/gitlab
      - gitlab_logs:/var/log/gitlab
      - gitlab_data:/var/opt/gitlab
    ports:
      - "8929:8929"
      - "2222:22"

  vaultwarden:
    image: vaultwarden/server:latest
    restart: always
    environment:
      SIGNUPS_ALLOWED: "false"
      INVITATION_TOKEN: "your-secret-token"
    volumes:
      - vaultwarden_data:/data

  nextcloud:
    image: nextcloud:28
    restart: always
    volumes:
      - nextcloud_data:/var/www/html
    ports:
      - "8080:80"

  wireguard:
    image: linuxserver/wireguard:latest
    restart: always
    cap_add: [NET_ADMIN]
    environment:
      PUID: 1000
      PGID: 1000
    volumes:
      - wireguard_config:/config
      - wireguard_modules:/lib/modules
    ports:
      - "51820:51820/udp"

  uptime-kuma:
    image: louislam/uptime-kuma:1
    restart: always
    volumes:
      - uptime_data:/app/data
    ports:
      - "3001:3001"

volumes:
  gitlab_config:
  gitlab_logs:
  gitlab_data:
  vaultwarden_data:
  nextcloud_data:
  wireguard_config:
  wireguard_modules:
  uptime_data:

Setup 2: Intermediate (€300) — za aktivne programere

Hardver:

  • Beelink EQ12 Mini PC (Intel N100, 16 GB RAM, 500 GB SSD) — €200
  • Dodatni 1 TB SSD (za backup) — €50
  • UPS (CyberPower 650VA) — €60

Ukupno: ~€310

Šta radi (sve iz Setup 1, plus):

  • Kubernetes (K3s)
  • GitHub Actions runner
  • Sentry (error tracking)
  • Grafana + Prometheus (monitoring)
  • Postgresql + Redis (baze)
  • MinIO (S3-kompatibilan storage)
  • Coder/code-server (VS Code u browseru)

Setup:

  1. Instalacija Ubuntu Server 24.04 LTS na EQ12
  2. Docker + Docker Compose
  3. K3s za Kubernetes
  4. ArgoCD za GitOps
  5. Grafana + Prometheus + Loki za observability

docker-compose.yml za development stack:

version: "3.8"
services:
  postgres:
    image: postgres:16
    restart: always
    environment:
      POSTGRES_PASSWORD: your-secret
    volumes:
      - postgres_data:/var/lib/postgresql/data
    ports:
      - "5432:5432"

  redis:
    image: redis:7
    restart: always
    volumes:
      - redis_data:/data
    ports:
      - "6379:6379"

  minio:
    image: minio/minio:latest
    restart: always
    command: server /data --console-address ":9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: your-secret
    volumes:
      - minio_data:/data
    ports:
      - "9000:9000"
      - "9001:9001"

  code-server:
    image: linuxserver/code-server:latest
    restart: always
    environment:
      PUID: 1000
      PGID: 1000
    volumes:
      - code_config:/config
      - code_workspace:/workspace
    ports:
      - "8443:8443"

  sentry:
    image: sentry:latest
    restart: always
    environment:
      SENTRY_SECRET_KEY: your-secret
    volumes:
      - sentry_data:/var/lib/sentry/files
    ports:
      - "9000:9000"

  grafana:
    image: grafana/grafana:latest
    restart: always
    volumes:
      - grafana_data:/var/lib/grafana
    ports:
      - "3000:3000"

  prometheus:
    image: prom/prometheus:latest
    restart: always
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
      - prometheus_data:/prometheus
    ports:
      - "9090:9090"

volumes:
  postgres_data:
  redis_data:
  minio_data:
  code_config:
  code_workspace:
  sentry_data:
  grafana_data:
  prometheus_data:

Kubernetes (K3s):

curl -sfL https://get.k3s.io | sh -

# kubectl konfiguracija
mkdir -p ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $USER:$USER ~/.kube/config

# Verifikacija
kubectl get nodes

Setup 3: Advanced (€500) — za ozbiljne home lab entuzijaste

Hardver:

  • 3x Beelink EQ12 (Intel N100, 16 GB, 500 GB) — €600
    • Ili 3x MinisForum UM580 (AMD Ryzen, 32 GB) — €900
  • TP-Link TL-SG108E managed switch (8 port, VLAN) — €50
  • Synology DS223j NAS (2x 4 TB HDD za backup) — €350
  • UPS CyberPower 1500VA — €150

Ukupno: ~€1150-1700

Šta radi (sve iz Setup 1+2, plus):

  • 3-node Kubernetes klaster (HA, tolerancija na 1 node failure)
  • TrueNAS NAS sa ZFS (data integrity)
  • Terraform + Ansible (Infrastructure as Code)
  • ArgoCD za GitOps
  • Velero za backup Kubernetes resursa
  • Prometheus + Loki + Tempo (full observability)
  • Keycloak (auth)
  • MinIO klaster (S3 distributed)

Arhitektura:

Internet

Cloudflare Tunnel

[Master node: EQ12 #1]

[Worker nodes: EQ12 #2, EQ12 #3]

NAS (Synology) — backup preko NFS

Proxmox alternative (ako želite full VM control):

  • 3x Proxmox node (Debian + KVM/LXC)
  • Ceph za distributed storage
  • Totalno: €1500+ ali enterprise-grade

Šta sam naučio iz 5 godina HomeLaba

1. UPS je nužan, ne luksuz

Prvi gubitak podataka mi je bio kad je nestala struja tokom noći. Docker volumena nisu corrupted, ali je filesystem bio inconsistent. UPS od €60 me štiti od toga. CyberPower ili APC, 650-1500 VA.

2. NVMe SSD > SATA SSD > HDD za OS i Docker volumene

Razlika je ogromna. NVMe je 5-10x brži od SATA SSD-a, 100x brži od HDD-a. Za OS i Docker volumene, NVMe je must. HDD koristite SAMO za backup i medijateku.

3. ARM vs x86 za Docker

ARM (Raspberry Pi) je OK za 80% aplikacija. Ali 20% ih nema ARM slike (npr. neke enterprise baze, neki AI modeli). Ako planirate učiti AI/ML, idite na x86 (Intel N100 ili AMD).

4. Backup testiranje je važnije od backup kreiranja

Imam backup, ali nisam testirao restore. Kad sam trebao restore, shvatio sam da script ima bug. Redovno testirajte restore (mjesečno). Ako ne možete vratiti podatke iz backupa, nemate backup.

5. Sigurnost kroz slojeve (defense in depth)

  • Layer 1: Fizička sigurnost (zaključana soba)
  • Layer 2: Firewall (Cloudflare Tunnel, ne port forward)
  • Layer 3: VPN za pristup (WireGuard)
  • Layer 4: SSH ključ (bez password-a)
  • Layer 5: 2FA za sve web aplikacije
  • Layer 6: Rate limiting (fail2ban)
  • Layer 7: Redovni security update-i

Ako jedan layer pukne, drugi drži.

6. Dokumentacija je nužna

Koristim Wiki.js (self-hosted, naravno) za dokumentaciju. Svaki servis ima: šta radi, kako se koristi, kako se restaurira, koje portove zauzima, password gdje je pohranjen.

7. Izolacija je ključ

Svaki servis u svom Docker kontejneru. Svaki projekat u svom stacku. Ako jedan pukne, drugi rade. Docker Compose + named volumes = sigurnost.

8. Resursi su ograničeni, ali ne toliko koliko mislite

  • Raspberry Pi 4 (8 GB): 5-7 kontejnera
  • Intel N100 (16 GB): 15-25 kontejnera
  • Beelink EQ12 (16 GB): 20-30 kontejnera
  • 3-node klaster: 100+ kontejnera

Više nego dovoljno za lični projekat.

Konkretni projekti za učenje

Ako imate HomeLab, isprobajte:

Početni (1-2 sedmice):

  • Dockerize lični blog (Ghost ili WordPress)
  • Deploy Nextcloud za file sync
  • Setup WireGuard VPN za pristup kućnoj mreži sa puta

Srednji (1-2 mjeseca):

  • Kubernetes klaster (K3s) sa 3 servisa
  • CI/CD pipeline (GitLab → Docker registry → Deploy)
  • Monitoring stack (Prometheus + Grafana)
  • Reverse proxy sa automatskim SSL (Caddy ili Traefik)

Napredni (3-6 mjeseci):

  • 3-node Kubernetes HA klaster
  • GitOps sa ArgoCD
  • Distributed tracing (Jaeger ili Tempo)
  • Chaos engineering (testiranje failure scenarija)
  • Terraform za Infrastructure as Code

Budžet preporuka

Ako imate €100: Raspberry Pi 4 + Setup 1 Ako imate €300: Mini PC + Setup 2 Ako imate €500+: 3-node klaster + Setup 3 Ako imate €0: Hetzner VPS (€5.39/mj) — isti setup, u cloud-u

Povrat investicije:

  • Setup 1: 6 mjeseci (ušteda na cloud servisima)
  • Setup 2: 12 mjeseci (ušteda + bolje plaćeni posao)
  • Setup 3: 24 mjeseca (znanje koje dobijete = senior pozicija)

Konačni sud

HomeLab je investicija u sebe. Nije samo “igračka za entuzijaste” — to je najjeftiniji način da postanete senior inženjer koji razumije kako produkcija radi.

Moja preporuka za početnike: €100 setup (RPi 4). Koristite 6 mjeseci, naučite Docker, GitLab CI, monitoring. Ako vam se sviđa, upgrade-ujte na €300 setup (mini PC). Ako vam je i dalje zanimljivo, idite na €500+ setup (klaster).

Bez obzira na setup, primijenite pravila: backup testiran mjesečno, dokumentacija, izolacija, sigurnost kroz slojeve. Tada HomeLab ne samo da služi, već i podučava.

Ako imate pitanja o specifičnom setupu, slobodno pitajte u komentarima. Pomozite i vi drugima da ne rade iste greške koje sam ja napravio.

DS

Denis Softić

Denis Softić je član redakcije TechBalkans.

Svi članci od Denis →

Ne propusti nijedan vodič

Sedmični pregled u inbox.

Komentari

Svi mogu vidjeti komentare. Za komentiranje se prijavi.

    Učitavanje komentara...