From 88886a99165a180c14324cd4561a0e1bb7a97940 Mon Sep 17 00:00:00 2001 From: mmintel Date: Thu, 1 Oct 2026 22:45:27 +0200 Subject: [PATCH] chore(ci): retarget deployments to infra.mintel.me (server consolidation) --- .gitea/workflows/deploy.yml | 24 ++++++++++++------------ scripts/assets-sync.sh | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 93610f427..75f662d53 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -391,7 +391,7 @@ jobs: mkdir -p ~/.ssh echo "${{ secrets.ALPHA_SSH_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 - ssh-keyscan -H alpha.mintel.me >> ~/.ssh/known_hosts 2>/dev/null + ssh-keyscan -H infra.mintel.me >> ~/.ssh/known_hosts 2>/dev/null if [[ "$TARGET" == "production" ]]; then SITE_DIR="/home/deploy/sites/e-tib.com" @@ -403,25 +403,25 @@ jobs: SITE_DIR="/home/deploy/sites/branch.e-tib.com/$SLUG" fi - ssh root@alpha.mintel.me "mkdir -p $SITE_DIR" - scp .env.deploy root@alpha.mintel.me:$SITE_DIR/$ENV_FILE - scp docker-compose.yml root@alpha.mintel.me:$SITE_DIR/docker-compose.yml + ssh root@infra.mintel.me "mkdir -p $SITE_DIR" + scp .env.deploy root@infra.mintel.me:$SITE_DIR/$ENV_FILE + scp docker-compose.yml root@infra.mintel.me:$SITE_DIR/docker-compose.yml - ssh root@alpha.mintel.me "docker system prune -f" + ssh root@infra.mintel.me "docker system prune -f" # ── Deterministic cleanup: stop the EXACT compose project we're about to redeploy ── - ssh root@alpha.mintel.me "cd $SITE_DIR && docker compose -p '${PROJECT_NAME}' --env-file '$ENV_FILE' down --remove-orphans 2>/dev/null || true" + ssh root@infra.mintel.me "cd $SITE_DIR && docker compose -p '${PROJECT_NAME}' --env-file '$ENV_FILE' down --remove-orphans 2>/dev/null || true" # ── Safety net: kill ANY container whose Traefik host rule matches our target domain ── # This catches ghost containers from prior deployments that used a different project name # (e.g. 'e-tibcom' vs 'etib-production' due to Docker Compose defaulting to dir name) - ssh root@alpha.mintel.me "docker ps -q --filter label=traefik.http.routers.${PROJECT_NAME}.rule 2>/dev/null | xargs -r docker rm -f 2>/dev/null || true" - ssh root@alpha.mintel.me "docker ps --format '{{.Names}}' | grep -E '^e-tibcom-' | xargs -r docker rm -f 2>/dev/null || true" + ssh root@infra.mintel.me "docker ps -q --filter label=traefik.http.routers.${PROJECT_NAME}.rule 2>/dev/null | xargs -r docker rm -f 2>/dev/null || true" + ssh root@infra.mintel.me "docker ps --format '{{.Names}}' | grep -E '^e-tibcom-' | xargs -r docker rm -f 2>/dev/null || true" - ssh root@alpha.mintel.me "cd $SITE_DIR && echo '${{ secrets.REGISTRY_PASS }}' | docker login registry.infra.mintel.me -u '${{ secrets.REGISTRY_USER }}' --password-stdin" - ssh root@alpha.mintel.me "cd $SITE_DIR && docker compose -p '${PROJECT_NAME}' --env-file '$ENV_FILE' pull" - ssh root@alpha.mintel.me "cd $SITE_DIR && docker compose -p '${PROJECT_NAME}' --env-file '$ENV_FILE' up -d --remove-orphans" - ssh root@alpha.mintel.me "docker system prune -f --filter 'until=24h'" + ssh root@infra.mintel.me "cd $SITE_DIR && echo '${{ secrets.REGISTRY_PASS }}' | docker login registry.infra.mintel.me -u '${{ secrets.REGISTRY_USER }}' --password-stdin" + ssh root@infra.mintel.me "cd $SITE_DIR && docker compose -p '${PROJECT_NAME}' --env-file '$ENV_FILE' pull" + ssh root@infra.mintel.me "cd $SITE_DIR && docker compose -p '${PROJECT_NAME}' --env-file '$ENV_FILE' up -d --remove-orphans" + ssh root@infra.mintel.me "docker system prune -f --filter 'until=24h'" # ────────────────────────────────────────────────────────────────────────────── # JOB 5: Post-Deploy Verification diff --git a/scripts/assets-sync.sh b/scripts/assets-sync.sh index 4297a564f..e940ff4bf 100755 --- a/scripts/assets-sync.sh +++ b/scripts/assets-sync.sh @@ -13,7 +13,7 @@ fi # ── Configuration ────────────────────────────────────────────────────────── SOURCE_ENV="${1:-}" # local | testing | staging | prod TARGET_ENV="${2:-}" # testing | staging | prod -SSH_HOST="root@alpha.mintel.me" +SSH_HOST="root@infra.mintel.me" LOCAL_MEDIA_DIR="./public/media" DRY_RUN=""