From 9cc540a88062a0932f886364bd2f7c300d95cfea Mon Sep 17 00:00:00 2001 From: sysops Date: Tue, 17 Mar 2026 02:01:07 +0100 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20update.sh=20an=20tats=C3=A4chlic?= =?UTF-8?q?he=20Server-Struktur=20anpassen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - FRONTEND_DIR: /opt/archivmail/frontend → /opt/archivmail/web - Go Build: CGO_ENABLED=1 -tags xapian -buildvcs=false (Xapian-Support) - Frontend: standalone-Output deployen statt .next/ direkt - Services: archivmail-frontend → archivmail-web Co-Authored-By: Claude Sonnet 4.6 --- update.sh | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/update.sh b/update.sh index 5e98f7e..05b7ddd 100755 --- a/update.sh +++ b/update.sh @@ -21,7 +21,7 @@ die() { echo -e "${RED}[ERR]${NC} $*" >&2; exit 1; } REPO_URL="${REPO_URL:-https://gitea.perlbach24.de/scripte/archivmail.git}" INSTALL_DIR="/opt/archivmail" BUILD_DIR="/opt/archivmail/_build" -FRONTEND_DIR="/opt/archivmail/frontend" +FRONTEND_DIR="/opt/archivmail/web" BIN_DIR="/opt/archivmail/bin" echo "" @@ -55,7 +55,7 @@ fi info "Baue Go Backend..." cd "$BUILD_DIR" -go build -o "$BUILD_DIR/archivmail-new" ./cmd/archivmail/ +CGO_ENABLED=1 go build -tags xapian -buildvcs=false -o "$BUILD_DIR/archivmail-new" ./cmd/archivmail/ log "Go Backend gebaut" # ── Next.js Frontend bauen ──────────────────────────────────────────────── @@ -71,8 +71,8 @@ log "Frontend gebaut" # ── Dienste stoppen ─────────────────────────────────────────────────────── info "Stoppe Dienste..." -systemctl stop archivmail-frontend 2>/dev/null || warn "archivmail-frontend nicht aktiv" -systemctl stop archivmail 2>/dev/null || warn "archivmail nicht aktiv" +systemctl stop archivmail-web 2>/dev/null || warn "archivmail-web nicht aktiv" +systemctl stop archivmail 2>/dev/null || warn "archivmail nicht aktiv" # ── Dateien einspielen ──────────────────────────────────────────────────── @@ -83,17 +83,14 @@ chmod +x "$BIN_DIR/archivmail" ln -sf "$BIN_DIR/archivmail" /usr/local/bin/archivmail log "Backend eingespielt" -info "Spiele Frontend ein..." +info "Spiele Frontend ein (standalone)..." mkdir -p "$FRONTEND_DIR" -rsync -a --delete \ - "$BUILD_DIR/.next/" "$FRONTEND_DIR/.next/" \ - 2>/dev/null || cp -r "$BUILD_DIR/.next/." "$FRONTEND_DIR/.next/" -cp "$BUILD_DIR/package.json" "$FRONTEND_DIR/package.json" -cp "$BUILD_DIR/package-lock.json" "$FRONTEND_DIR/package-lock.json" -cp "$BUILD_DIR/next.config.ts" "$FRONTEND_DIR/next.config.ts" - -cd "$FRONTEND_DIR" -npm ci --omit=dev --prefer-offline 2>/dev/null || npm ci --omit=dev +rsync -a --delete "$BUILD_DIR/.next/standalone/" "$FRONTEND_DIR/" +mkdir -p "$FRONTEND_DIR/.next/static" +rsync -a --delete "$BUILD_DIR/.next/static/" "$FRONTEND_DIR/.next/static/" +if [[ -d "$BUILD_DIR/public" ]]; then + rsync -a --delete "$BUILD_DIR/public/" "$FRONTEND_DIR/public/" +fi log "Frontend eingespielt" # ── Datenbankmigrationen (falls vorhanden) ──────────────────────────────── @@ -108,7 +105,7 @@ fi info "Starte Dienste..." systemctl start archivmail -systemctl start archivmail-frontend +systemctl start archivmail-web log "Dienste gestartet" # ── Status prüfen ───────────────────────────────────────────────────────── @@ -117,8 +114,8 @@ sleep 2 BACKEND_OK=0 FRONTEND_OK=0 -systemctl is-active --quiet archivmail && BACKEND_OK=1 -systemctl is-active --quiet archivmail-frontend && FRONTEND_OK=1 +systemctl is-active --quiet archivmail && BACKEND_OK=1 || true +systemctl is-active --quiet archivmail-web && FRONTEND_OK=1 || true echo "" echo " ┌──────────────────────────────────────┐" @@ -130,4 +127,4 @@ echo " └─────────────────────── echo "" [[ $BACKEND_OK -eq 1 && $FRONTEND_OK -eq 1 ]] && log "Update abgeschlossen." \ - || warn "Ein oder mehrere Dienste sind nicht aktiv. Prüfe: journalctl -u archivmail -u archivmail-frontend" + || warn "Ein oder mehrere Dienste sind nicht aktiv. Prüfe: journalctl -u archivmail -u archivmail-web"