Tehnologije

← Početna
Infrastruktura i deploy

Cloud, Docker i DevOps — brz i pouzdan deploy

Sve aplikacije kontejneriziramo Dockerom, orkestriramo ih Docker Composeom (ili Kubernetesom za enterprise projekte), Caddy postavljamo kao reverse proxy s automatskim SSL-om, a cijeli ciklus deploya automatiziramo putem GitHub Actionsa — od commita do produkcije.

Kontejnerizacija s Dockerom i Docker Composeom

Svaki servis ima vlastiti višefazni Dockerfile: build faza koja instalira ovisnosti i kompajlira te minimalna završna faza (distroless ili alpine) koja sadrži samo potrebne artefakte. Tipična Next.js slika ispada ispod 150 MB, a FastAPI ispod 80 MB. Slike se ponovno grade pri svakom spajanju na main i semantički označavaju (`v1.2.3` + `latest`).

Docker Compose definira cijeli stog: frontend, API, bazu, Redis, worker. Osjetljive varijable (lozinka baze, API ključevi, Stripe secret) nalaze se u `.env` koji je izuzet iz gita — nikad nisu hardkodirane u sliku. Health checkovi u Composeu osiguravaju da su ovisnosti spremne prije pokretanja (baza spremna → pokretanje API-ja → pokretanje frontenda).

  • Build cache s `--mount=type=cache` za npm ci na CI-ju
  • Optimiziran redoslijed slojeva: stabilne ovisnosti → izvorni kod
  • Upravljanje tajnama pomoću Docker secrets ili HashiCorp Vaulta za enterprise projekte
  • `restart: unless-stopped` + `docker compose up --no-deps` za atomski deploy

Caddy — moderni reverse proxy s automatskim SSL-om

Caddy 2.8 automatski upravlja SSL/TLS-om putem ACME-a (Let's Encrypt ili ZeroSSL) — nijedan istekli certifikat, nikakva ručna konfiguracija. HTTP/2 i HTTP/3 (QUIC) uključeni su prema zadanim postavkama. Sigurnosna zaglavlja (HSTS, X-Frame-Options, CSP) postavljaju se globalno putem višekratno upotrebljivih snippeta. Deklarativni Caddyfile može se uspoređivati diffom i verzionira se u gitu.

Rate limiting, gzip/brotli kompresija i strukturirano JSON logiranje uključuju se izvornim Caddy direktivama — bez nginx modula ili složene Apache konfiguracije. Pristup osjetljivim rutama (`/admin`, `.env`, `.git`) vraća 444 (bez odgovora), konfigurirano kao globalni sigurnosni snippet.

  • Samo TLS 1.3 s modernim cipher suiteovima
  • On-demand TLS za multi-tenant SaaS s dinamičkim poddomenama
  • Reload konfiguracije — `caddy reload` ne prekida aktivne veze
  • Logiranje Caddy → Loki → Grafana — analiza prometa i upozorenja na anomalije

GitHub Actions CI/CD i nadzor

CI pipeline radi na svakom PR-u: lint, provjera tipova, unit testovi, build Docker slike, skeniranje ranjivosti (Trivy). Ako sve prođe, slika se šalje u registry, a deploy na staging odvija se automatski. Spajanje na main = automatski deploy u produkciju s healthcheckom nakon deploya. Automatski rollback ako healthcheck ne uspije u 60 sekundi.

Nadzor s Grafanom + Prometheusom za aplikacijske metrike (latencija, stopa pogrešaka, veličina reda) i Lokijem za agregaciju logova. Upozorenja se konfiguriraju na Slacku/e-pošti: stopa pogrešaka >1%, latencija P95 >500 ms, disk >85%. Vanjski uptime nadzor s Better Uptimeom — javna SLA nadzorna ploča dostupna na zahtjev.

  • Trivy skeniranje ranjivosti na slikama — blokada kod Critical CVE-a
  • Dependabot + auto-merge za patch ažuriranja (zeleni CI obvezan)
  • Automatski backup baze na S3-kompatibilnu pohranu (noću, zadržavanje 30 dana)

Prednosti i ograničenja

Prednosti

  • Deploy s healthcheckom nakon izdanja i automatskim rollbackom pri neuspjelom healthchecku.
  • Automatski SSL/TLS putem Caddyja — certifikati se obnavljaju bez ručnog rada.
  • Ponovljivo okruženje: ista Docker slika na devu, stagingu i produkciji.
  • Nadzor i upozorenja (Grafana, Loki) — problemi se prate i prijavljuju.

Ograničenja

  • Docker Compose ne skalira kao Kubernetes za enterprise okruženja s više čvorova.
  • Početno postavljanje CI/CD-a traži vrijeme i DevOps stručnost.
  • Slike i logovi troše prostor na disku — potrebno je povremeno čišćenje.
  • Potpun nadzor (Prometheus + Grafana) dodaje servise koje treba održavati.

Kratak zaključak

Docker + Caddy + GitHub Actions idealna je kombinacija za pouzdan deploy na VPS-u ili na nekoliko čvorova. Za desetke čvorova s agresivnim auto-scalingom prijeđite na Kubernetes.

Tablica specifikacija

MogućnostGranica / pragTipična uporaba
OrkestracijaDocker Compose, cijeli stogJedan čvor; više čvorova traži Swarm/K8sVPS, mali i srednji projekti
Reverse proxyCaddy 2.8, HTTP/3, automatski SSLVrlo složena pravila traže opsežnu konfiguracijuViše domena, multi-tenant
CI/CDGitHub Actions, automatizirani deployCI minute se naplaćuju iznad besplatne razineAutomatski commit-to-prod
Tipičan trošakVPS od ~5€/mjesecNadzor + backup dodaju trošakOd jedne web-stranice do više brendova

Docker Compose u odnosu na Kubernetes

KriterijDocker ComposeKubernetes
Složenost postavljanjaMalaVelika
Skaliranje na više čvorova / auto-scalingOgraničeno (jedan čvor)Izvrsno
Prikladno zaVPS, mali i srednji projektiVelike flote, enterprise

Često postavljana pitanja

Zašto Caddy, a ne Nginx?

Caddy automatski upravlja SSL/TLS-om putem ACME-a, prema zadanim postavkama uključuje HTTP/2 i HTTP/3 i ima kratku deklarativnu konfiguraciju. Nginx za isti rezultat traži certbot i više ručne konfiguracije.

Trebam li Kubernetes?

Ne za većinu web-stranica. Docker Compose na VPS-u pouzdano vodi jednu web-stranicu ili nekoliko servisa. Kubernetes postaje koristan tek kod desetaka čvorova s agresivnim auto-scalingom.

Kako funkcionira deploy?

GitHub Actions izgradi novu sliku, pokrene je uz staru, izvrši healthcheck, a zatim prebaci promet. Ako healthcheck ne uspije u 60 sekundi, automatski se radi rollback na prethodnu verziju.

Koji nadzor preporučujete?

Grafana + Prometheus za metrike (latencija, stopa pogrešaka) i Loki za agregirane logove, s upozorenjima na Slacku/e-pošti. Za vanjski uptime dodajemo neovisan servis poput Better Uptimea.

4b2b.net
Poslovni ekosustav
4conta.ro
Računovodstvo
4invoices.net
Aplikacija za fakturiranje
4expenses.net
Upravljanje troškovima
4notify.net
Obavijesti
4hosting.net
Hosting
4database.net
Baze podataka
4buildsite.net
Izrada web-stranica
4myapp.net
Izrada aplikacija
4avatars.net
AI avatari
4chaty.net
AI chatbot
4webagency.net
Softver za web agencije
4softedu.net
Web-stranice za obrazovanje
4softcrm.net
CRM platforma
4softerp.net
ERP sustav
4softhr.net
Upravljanje HR-om
4mystaff.net
Portal osoblja
4myprojects.net
Upravitelj projekata
4mycontracts.net
Ugovori
4docs.net
Upravljanje dokumentima
4appointments.net
Rezervacije
4marketingonline.net
Marketing
4insurance.net
Osiguranje
4property.net
Nekretnine
4lawyers.net
Pravni softver
4mygarage.net
Autoservis
4driving.net
Autoškole
4fleet.net
Upravljanje voznim parkom
4myevents.net
Događaji
4therapy.net
Terapija
4clinics.net
Klinike
4dental.net
Stomatološke ordinacije
4restaurants.net
Restorani
4beautify.net
Salon ljepote
4gym.net
Teretane
4guards.net
Zaštitarske tvrtke
4softvet.net
Veterinarske ambulante
4softauto.net
Softver za auto-poslovanje
4construct.net
Građevinske firme
4marketplace.net
Tržnica
4shopy.net
Internetska trgovina
4pricing.net
Usporedba cijena
4salefood.net
Dostava hrane
4rentify.net
Najam
4transports.net
Transport
4agencytravel.net
Putnička agencija
4hotel.net
Upravljanje hotelima
4ong.net
Upravljanje NVO