Tækni

← Heim
Innviðir & útgáfa

Ský, Docker og DevOps — hröð og áreiðanleg útgáfa

Við setjum öll forrit í Docker-gáma, stýrum þeim með Docker Compose (eða Kubernetes fyrir stórfyrirtækjaverkefni), setjum upp Caddy sem öfugan milliþjón með sjálfvirku SSL og sjálfvirknivæðum allt útgáfuferlið með GitHub Actions — frá commit til framleiðslu.

Gámavæðing með Docker og Docker Compose

Hver þjónusta hefur sína eigin fjölþrepa Dockerfile: byggingarþrep sem setur upp háðar einingar og þýðir, og lágmarks lokaþrep (distroless eða alpine) sem inniheldur aðeins nauðsynleg afurðaskjöl. Dæmigerð Next.js-mynd er undir 150MB; FastAPI-mynd undir 80MB. Myndir eru endurbyggðar við hvern samruna á main og merktar með útgáfumerki (`v1.2.3` + `latest`).

Docker Compose skilgreinir allan stafla: framenda, API, gagnagrunn, Redis og vinnsluferla. Viðkvæmar breytur (lykilorð gagnagrunns, API-lyklar, Stripe-leyndarmál) eru í `.env` sem er utan git — aldrei harðkóðaðar í myndina. Heilsuskoðanir í Compose tryggja að háðar einingar séu tilbúnar fyrir ræsingu (gagnagrunnur tilbúinn → API ræst → framendi ræstur).

  • Byggingarskyndiminni með `--mount=type=cache` — npm ci endurnýtir skyndiminni í CI
  • Fínstillt röðun laga: stöðugar háðar einingar → frumkóði
  • Leyndarmálastjórnun með Docker secrets eða HashiCorp Vault fyrir stórfyrirtækjaverkefni
  • `restart: unless-stopped` + `docker compose up --no-deps` fyrir atómíska útgáfu

Caddy — nútímalegur öfugur milliþjónn með sjálfvirku SSL

Caddy 2.8 stýrir SSL/TLS sjálfkrafa í gegnum ACME (Let's Encrypt eða ZeroSSL) — vottorðin endurnýjast sjálfkrafa, engin handvirk uppsetning. HTTP/2 og HTTP/3 (QUIC) eru virk sjálfgefið. Öryggishausar (HSTS, X-Frame-Options, CSP) eru stilltir á heimsvísu með endurnýtanlegum brotum. Yfirlýsandi Caddyfile-stillingin er samanburðarhæf og útgáfustýrð í git.

Hraðatakmörkun, gzip/brotli-þjöppun og skipulögð JSON-skráning eru virkjuð með innbyggðum Caddy-tilskipunum — án nginx-eininga eða flókinnar Apache-uppsetningar. Aðgangur að viðkvæmum slóðum (`/admin`, `.env`, `.git`) skilar 444 (ekkert svar), stillt sem altækt öryggisbrot.

  • Aðeins TLS 1.3 með nútímalegum dulmálssvítum
  • On-demand TLS fyrir fjölleigjenda SaaS með kviknum undirlénum
  • Endurhleðsla stillinga — `caddy reload` rýfur ekki virkar tengingar
  • Caddy-skráning → Loki → Grafana — umferðargreining og viðvaranir um frávik

GitHub Actions CI/CD og vöktun

CI-ferlið keyrir við hverja breytingabeiðni: lint, tegundaskoðun, einingarpróf, byggingu Docker-myndar og veikleikaskönnun (Trivy). Ef allt stenst er myndin send í skrásetningu og útgáfa á prófunarumhverfi fer sjálfkrafa fram. Samruni á main = sjálfvirk útgáfa í framleiðslu með heilsuskoðun eftir útgáfu. Sjálfvirk afturköllun ef heilsuskoðun mistekst innan 60 sekúndna.

Vöktun með Grafana + Prometheus fyrir mælikvarða forrits (svartími, villutíðni, stærð biðraðar) og Loki fyrir söfnun annála. Viðvaranir settar upp á Slack/tölvupóst: villutíðni >1%, svartími P95 >500ms, diskur >85%. Ytri vöktun á uppitíma með Better Uptime — opið SLA-stjórnborð fáanlegt ef óskað er.

  • Trivy-veikleikaskönnun á myndum — stöðvun við Critical CVE
  • Dependabot + sjálfvirkur samruni fyrir plástrauppfærslur (grænt CI skilyrði)
  • Sjálfvirkt afrit gagnagrunns í S3-samhæfða geymslu (á hverri nóttu, 30 daga varðveisla)

Kostir og takmarkanir

Kostir

  • Útgáfa við hlið eldri útgáfu, með sjálfvirkri afturköllun ef heilsuskoðun mistekst.
  • Sjálfvirkt SSL/TLS með Caddy — vottorð endurnýjast sjálfkrafa, án handvirkrar umsjónar.
  • Endurtakanlegt umhverfi: sama Docker-mynd í þróun, prófun og framleiðslu.
  • Vöktun og viðvaranir (Grafana, Loki) fyrir mælikvarða og annála.

Takmarkanir

  • Docker Compose skalar ekki eins og Kubernetes fyrir fjölhnúta stórfyrirtækjaumhverfi.
  • Upphafleg CI/CD-uppsetning krefst tíma og DevOps-sérþekkingar.
  • Myndir og annálar taka diskpláss — krefjast reglulegrar hreinsunar.
  • Full vöktun (Prometheus + Grafana) bætir við þjónustum sem þarf að viðhalda.

Stutt niðurstaða

Docker + Caddy + GitHub Actions er kjörsamsetning fyrir áreiðanlega útgáfu á VPS eða fáum hnútum. Fyrir tugi hnúta með ágengri sjálfvirkri skölun skaltu skipta yfir í Kubernetes.

Tækniforskriftir

GetaTakmörk / þröskuldurDæmigerð notkun
StýringDocker Compose, allur stafliEinn hnútur; fleiri hnútar krefjast Swarm/K8sVPS, lítil og meðalstór verkefni
Öfugur milliþjónnCaddy 2.8, HTTP/3, sjálfvirkt SSLMjög flóknar reglur krefjast umfangsmeiri stillingaMörg lén, fjölleigjendakerfi
CI/CDGitHub Actions, sjálfvirk útgáfaCI-mínútur gjaldfærðar umfram ókeypis mörkSjálfvirkt frá commit til framleiðslu
Dæmigerður kostnaðurVPS frá ~5€/mánuðiVöktun + afrit bæta við kostnaðiFrá einum vef til margra vörumerkja

Docker Compose samanborið við Kubernetes

ViðmiðDocker ComposeKubernetes
Flækjustig uppsetningarLítiðMikið
Fjölhnútaskölun / sjálfvirk skölunTakmörkuð (einn hnútur)Framúrskarandi
Hentar fyrirVPS, lítil og meðalstór verkefniStór flotakerfi, stórfyrirtæki

Algengar spurningar

Hvers vegna Caddy en ekki Nginx?

Caddy stýrir SSL/TLS sjálfkrafa í gegnum ACME, virkjar HTTP/2 og HTTP/3 sjálfgefið og hefur stutta yfirlýsandi stillingu. Nginx krefst certbot og meiri handvirkrar uppsetningar fyrir sömu niðurstöðu.

Þarf ég Kubernetes?

Ekki fyrir flesta vefi. Docker Compose á VPS sér áreiðanlega um einn vef eða nokkrar þjónustur. Kubernetes verður gagnlegt fyrst við tugi hnúta með ágengri sjálfvirkri skölun.

Hvernig virkar útgáfa við hlið eldri útgáfu?

GitHub Actions byggir nýja mynd, ræsir hana við hlið þeirrar gömlu, keyrir heilsuskoðun og færir síðan umferðina. Ef heilsuskoðun mistekst innan 60 sekúndna er sjálfkrafa afturkallað í fyrri útgáfu.

Hvaða vöktun mælið þið með?

Grafana + Prometheus fyrir mælikvarða (svartími, villutíðni) og Loki fyrir safnaða annála, með viðvörunum á Slack/tölvupóst. Fyrir ytri vöktun á uppitíma bætum við við óháðri þjónustu eins og Better Uptime.

4b2b.net
Viðskiptavistkerfi
4conta.ro
Bókhald
4invoices.net
Reikningagerð
4expenses.net
Útgjaldastjórnun
4notify.net
Tilkynningar
4hosting.net
Hýsing
4database.net
Gagnagrunnar
4buildsite.net
Vefsíðugerð
4myapp.net
Forritasmíði
4avatars.net
Gervigreindaravatarar
4chaty.net
Gervigreindarspjallmenni
4webagency.net
Hugbúnaður fyrir vefstofur
4softedu.net
Vefsíður fyrir menntun
4softcrm.net
CRM-vettvangur
4softerp.net
ERP-kerfi
4softhr.net
Mannauðsstjórnun
4mystaff.net
Starfsmannagátt
4myprojects.net
Verkefnastjórnun
4mycontracts.net
Samningar
4docs.net
Skjalastjórnun
4appointments.net
Tímabókanir
4marketingonline.net
Markaðssetning
4insurance.net
Tryggingar
4property.net
Fasteignir
4lawyers.net
Hugbúnaður fyrir lögmenn
4mygarage.net
Bílaverkstæði
4driving.net
Ökuskólar
4fleet.net
Flotastjórnun
4myevents.net
Viðburðir
4therapy.net
Meðferðarstofur
4clinics.net
Læknastofur
4dental.net
Tannlæknastofur
4restaurants.net
Veitingastaðir
4beautify.net
Snyrtistofur
4gym.net
Líkamsræktarstöðvar
4guards.net
Öryggisfyrirtæki
4softvet.net
Dýralæknastofur
4softauto.net
Hugbúnaður fyrir bílgreinina
4construct.net
Byggingarfyrirtæki
4marketplace.net
Markaðstorg
4shopy.net
Netverslun
4pricing.net
Verðsamanburður
4salefood.net
Matarsending
4rentify.net
Útleiga
4transports.net
Flutningar
4agencytravel.net
Ferðaskrifstofa
4hotel.net
Hótelstjórnun
4ong.net
Stjórnun félagasamtaka