Tehnologije

← Početna
Infrastruktura i deploy

Cloud, Docker i DevOps — brz i pouzdan deploy

Sve aplikacije kontejnerizujemo Docker-om, orkestriramo ih pomoću Docker Compose-a (ili Kubernetes-a za enterprise projekte), podešavamo Caddy kao reverse proxy sa automatskim SSL-om i automatizujemo ceo ciklus deploy-a kroz GitHub Actions — od commit-a do produkcije.

Kontejnerizacija sa Docker-om i Docker Compose-om

Svaki servis ima sopstveni multi-stage Dockerfile: build faza koja instalira zavisnosti i kompajlira, i minimalna završna faza (distroless ili alpine) koja sadrži samo potrebne artefakte. Tipična Next.js slika ima manje od 150 MB, a FastAPI manje od 80 MB. Slike se ponovo grade pri svakom merge-u na main i semantički označavaju (`v1.2.3` + `latest`).

Docker Compose definiše ceo stek: frontend, API, bazu, Redis, worker. Osetljive promenljive (lozinka baze, API ključevi, Stripe secret) nalaze se u `.env` fajlu isključenom iz git-a — nikada nisu zapisane u slici. Health check-ovi u Compose-u obezbeđuju da zavisnosti budu spremne pre pokretanja (baza spremna → pokretanje API-ja → pokretanje frontenda).

  • Build keš sa `--mount=type=cache` — npm ci za <30 s na CI-ju
  • Optimizovan redosled slojeva: stabilne zavisnosti → izvorni kod
  • Upravljanje tajnama pomoću Docker secrets ili HashiCorp Vault-a za enterprise projekte
  • `restart: unless-stopped` + `docker compose up --no-deps` za atomski deploy

Caddy — moderni reverse proxy sa automatskim SSL-om

Caddy 2.8 automatski upravlja SSL/TLS-om preko ACME-a (Let's Encrypt ili ZeroSSL) — nijedan istekao sertifikat, nikakvo ručno podešavanje. HTTP/2 i HTTP/3 (QUIC) su podrazumevano uključeni. Bezbednosna zaglavlja (HSTS, X-Frame-Options, CSP) postavljaju se globalno preko snippet-a koji se ponovo koriste. Deklarativna Caddyfile konfiguracija može da se poredi (diff) i verzioniše u git-u.

Rate limiting, gzip/brotli kompresija i strukturisano JSON logovanje uključuju se nativnim Caddy direktivama — bez nginx modula ili složene Apache konfiguracije. Pristup osetljivim rutama (`/admin`, `.env`, `.git`) vraća 444 (bez odgovora), podešeno kao globalni bezbednosni snippet.

  • A+ na SSL Labs od prvog dana — samo TLS 1.3 sa modernim cipher suite-ovima
  • On-demand TLS za multi-tenant SaaS sa dinamičkim poddomenima
  • Reload bez zastoja — `caddy reload` ne prekida aktivne konekcije
  • Caddy logovanje → Loki → Grafana — analiza saobraćaja i upozorenja na anomalije

GitHub Actions CI/CD i monitoring

CI pipeline se pokreće pri svakom PR-u: lint, provera tipova, unit testovi, build Docker slike, skeniranje ranjivosti (Trivy). Ako sve prođe, slika se šalje na registry, a deploy na staging obavlja se automatski. Merge na main = automatski deploy na produkciju sa healthcheck-om posle deploy-a. Automatski rollback ako healthcheck ne prođe u roku od 60 sekundi.

Monitoring sa Grafana + Prometheus za aplikativne metrike (latencija, stopa grešaka, veličina reda) i Loki za agregaciju logova. Upozorenja na Slack/email: stopa grešaka >1%, latencija P95 >500 ms, disk >85%. Spoljni uptime monitoring preko Better Uptime — javna SLA tabla dostupna na zahtev.

  • Trivy skeniranje ranjivosti na slikama — blokada pri Critical CVE
  • Dependabot + auto-merge za patch ažuriranja (zeleni CI je obavezan)
  • Automatski backup baze na S3-kompatibilno skladište (noću, čuvanje 30 dana)

Prednosti i ograničenja

Prednosti

  • Deploy sa automatskim rollback-om pri neuspelom healthcheck-u.
  • Automatski SSL/TLS preko Caddy-ja — nijedan ručno propušten istekao sertifikat.
  • Ponovljivo okruženje: ista Docker slika na dev-u, staging-u i produkciji.
  • Monitoring i upozorenja (Grafana, Loki) — problemi se vide pre korisnika.

Ograničenja

  • Docker Compose se ne skalira kao Kubernetes za enterprise okruženja sa više čvorova.
  • Početno podešavanje CI/CD-a zahteva vreme i DevOps stručnost.
  • Slike i logovi troše prostor na disku — potrebno je periodično čišćenje.
  • Potpun monitoring (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 nekoliko čvorova. Za desetine čvorova sa agresivnim auto-skaliranjem pređite na Kubernetes.

Tabela specifikacija

MogućnostOgraničenje / pragTipična upotreba
OrkestracijaDocker Compose, kompletan stekJedan čvor; više čvorova zahteva Swarm/K8sVPS, mali i srednji projekti
Reverse proxyCaddy 2.8, HTTP/3, automatski SSLVeoma složena pravila traže obimnu konfiguracijuViše domena, multi-tenant
CI/CDGitHub Actions, automatski deployCI minuti se naplaćuju preko besplatnog nivoaAutomatski commit-to-prod
Tipična cenaVPS od ~5€/mesečnoMonitoring + backup dodaju trošakOd jednog sajta do više brendova

Docker Compose naspram Kubernetes-a

KriterijumDocker ComposeKubernetes
Složenost podešavanjaMalaVelika
Skaliranje na više čvorova / auto-skaliranjeOgraničeno (jedan čvor)Odlično
Pogodno zaVPS, mali i srednji projektiVelike flote, enterprise

Često postavljana pitanja

Zašto Caddy, a ne Nginx?

Caddy automatski upravlja SSL/TLS-om preko ACME-a, podrazumevano uključuje HTTP/2 i HTTP/3 i ima kratku deklarativnu konfiguraciju. Nginx za isti rezultat traži certbot i više ručnog podešavanja.

Da li mi je potreban Kubernetes?

Ne za većinu sajtova. Docker Compose na VPS-u pouzdano vodi jedan sajt ili nekoliko servisa. Kubernetes postaje koristan tek kod desetina čvorova sa agresivnim auto-skaliranjem.

Kako funkcioniše deploy?

GitHub Actions gradi novu sliku, pokreće je pored stare, izvršava healthcheck, a zatim prebacuje saobraćaj. Ako healthcheck ne prođe u roku od 60 sekundi, automatski se radi rollback na prethodnu verziju.

Koji monitoring preporučujete?

Grafana + Prometheus za metrike (latencija, stopa grešaka) i Loki za agregirane logove, uz upozorenja na Slack/email. Za spoljni uptime dodajemo nezavisan servis poput Better Uptime-a.

4b2b.net
Poslovni ekosistem
4conta.ro
Računovodstvo
4invoices.net
Aplikacija za fakturisanje
4expenses.net
Upravljanje troškovima
4notify.net
Obaveštenja
4hosting.net
Hosting
4database.net
Baze podataka
4buildsite.net
Izrada sajtova
4myapp.net
Izrada aplikacija
4avatars.net
AI avatari
4chaty.net
AI čatbot
4webagency.net
Softver za veb agencije
4softedu.net
Sajtovi za obrazovanje
4softcrm.net
CRM platforma
4softerp.net
ERP sistem
4softhr.net
Upravljanje HR-om
4mystaff.net
Portal osoblja
4myprojects.net
Menadžer projekata
4mycontracts.net
Ugovori
4docs.net
Upravljanje dokumentima
4appointments.net
Zakazivanje
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 lepote
4gym.net
Teretane
4guards.net
Firme obezbeđenja
4softvet.net
Ветеринарске амбуланте
4softauto.net
Софтвер за ауто-бизнис
4construct.net
Građevinske firme
4marketplace.net
Marketplejs
4shopy.net
Onlajn prodavnica
4pricing.net
Poređenje cena
4salefood.net
Dostava hrane
4rentify.net
Iznajmljivanje
4transports.net
Transport
4agencytravel.net
Turistička agencija
4hotel.net
Upravljanje hotelima
4ong.net
Upravljanje NVO