From 6beb2a51497a29f6c9f409ae8fcfea20441304ea Mon Sep 17 00:00:00 2001 From: Do Siki Date: Mon, 27 Apr 2026 01:02:24 +0200 Subject: [PATCH] chore: replace dokploy with native docker compose deployment workflow --- .agent/workflows/deploy.md | 36 ++++++++++++++++++++++++++++-------- deploy.sh | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 8 deletions(-) create mode 100755 deploy.sh diff --git a/.agent/workflows/deploy.md b/.agent/workflows/deploy.md index bef6138..5504a66 100644 --- a/.agent/workflows/deploy.md +++ b/.agent/workflows/deploy.md @@ -21,9 +21,18 @@ npm test # unit tesztek zöldek npm run build # build sikeres-e? ``` -### 2. Staging deploy -A Dokploy automatikusan buildi és deployolja a `main` branchre kerülő commitokat: -- **Staging**: https://staging.mozdit.hu +### 2. Staging deploy (Docker Compose) +A staging szerveren (pl. `staging.mozdit.hu`) natív Docker Compose-zal futtatjuk a projektet: + +```bash +# Belépés a szerverre +ssh user@staging-server + +# Kód frissítése és build +cd /var/www/mozdit-staging +git pull origin main +docker compose -f docker-compose.prod.yml up --build -d +``` Ellenőrizd stagingen: - [ ] Főbb oldalak betöltenek (/, /rolunk, /szolgaltatasok, /kapcsolat) @@ -32,18 +41,29 @@ Ellenőrizd stagingen: - [ ] Mobil nézet rendben - [ ] `/api/health` endpoint zöld -### 3. Produkciós deploy -Ha staging rendben van, a produkciós deploy Dokploy-on keresztül történik: -- **Production**: https://mozdit.hu +### 3. Produkciós deploy (Élesítés) +Ha a staging rendben van, az éles szerveren ugyanez a natív Docker Compose folyamat zajlik le: + +```bash +# Belépés a produkciós szerverre +ssh user@prod-server +cd /var/www/mozdit-prod +git pull origin main +docker compose -f docker-compose.prod.yml up --build -d +``` ### 4. Post-deploy ellenőrzés - [ ] Minden oldal betölt production-ban - [ ] `/api/health` endpoint ellenőrzése - [ ] Lighthouse futtatás (≥90 minden kategóriában) -- [ ] Grafana dashboardon nincsenek hibák +- [ ] Logok ellenőrzése: `docker compose -f docker-compose.prod.yml logs -f app` ### 5. Rollback (ha szükséges) -Dokploy felületen az előző deploy visszaállítható. +Hiba esetén az előző commitra könnyedén vissza lehet állni: +```bash +git checkout HEAD~1 +docker compose -f docker-compose.prod.yml up --build -d +``` --- diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..dcaf64e --- /dev/null +++ b/deploy.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# mozdIT Deploy Script +# Használat: ./deploy.sh [staging|production] + +ENV=$1 + +if [ "$ENV" != "staging" ] && [ "$ENV" != "production" ]; then + echo "Hiba: Hiányzó vagy érvénytelen környezet paraméter." + echo "Használat: ./deploy.sh staging VAGY ./deploy.sh production" + exit 1 +fi + +echo "🚀 Deploy indítása: [$ENV] környezet" + +# 1. Kód frissítése +echo "📦 Kód frissítése a fő ágról (main)..." +git pull origin main + +# 2. .env fájl betöltése / ellenőrzése +if [ -f ".env.$ENV" ]; then + echo "🔑 Környezeti változók betöltése (.env.$ENV)..." + export $(grep -v '^#' .env.$ENV | xargs) +else + echo "⚠️ Figyelmeztetés: .env.$ENV fájl nem található, alapértelmezett értékek használata." +fi + +# 3. Docker konténerek újraépítése és indítása +echo "🐳 Docker konténerek buildelése és indítása Zero-Downtime megközelítéssel..." +docker compose -f docker-compose.prod.yml up --build -d + +# 4. Ellenőrzés +echo "✅ Deploy sikeresen befejeződött!" +echo "📄 Logok megtekintése: docker compose -f docker-compose.prod.yml logs -f app"