From d9e95c823a4722fa6daedac01d34cb709f7fb3e7 Mon Sep 17 00:00:00 2001 From: openhands Date: Thu, 23 Jul 2026 19:09:05 +0200 Subject: [PATCH] Update deploy to use PM2, add .next.prev to gitignore --- .gitea/workflows/deploy.yaml | 19 +++++++++--------- .gitignore | 1 + .next.prev/cache/.previewinfo | 2 +- .next.prev/cache/.rscinfo | 2 +- ...480126527f7fcfe968330cab2225a73e0993cf5e1c | 1 - ...NPkXIXIlIA.Vy8iNDI5LTE5ZjhmZDhiNmI5Ig.webp | Bin 300 -> 0 bytes ...NNpZ1QfyZ5kk.Vy8iZWItMTlmOGZkOGI2Yjki.webp | Bin 312 -> 0 bytes ...8xgFJ01V0s.Vy8iMTE5LTE5ZjhmZDhiNmJhIg.webp | Bin 466 -> 0 bytes ...rpHv15gq6ics.Vy8iOTYtMTlmOGZkOGI2YmEi.webp | Bin 280 -> 0 bytes ...RvmXMc-DB8.Vy8iMmM5LTE5ZjhmZDhiNmI1Ig.webp | Bin 226 -> 0 bytes .next.prev/diagnostics/build-diagnostics.json | 2 +- .next.prev/lock | 0 12 files changed, 14 insertions(+), 13 deletions(-) delete mode 100644 .next.prev/cache/fetch-cache/89948b114034f352519754480126527f7fcfe968330cab2225a73e0993cf5e1c delete mode 100644 .next.prev/cache/images/COHNDEt-WABx7elW8fTqF-qRcvtnIJOO2AKJ_VO74dg/31536000.1816361117994.YuuE6OXexs3kQGz5gGa7mI8DsGejmYGVdNPkXIXIlIA.Vy8iNDI5LTE5ZjhmZDhiNmI5Ig.webp delete mode 100644 .next.prev/cache/images/DNZpkG3_ySLS2g2nXYUmWZyW7qdCkbxbOnK7NETCCcc/31536000.1816361117990.R9m33TyCsC36V_h2kXZqVLv1CAZE-k6NNpZ1QfyZ5kk.Vy8iZWItMTlmOGZkOGI2Yjki.webp delete mode 100644 .next.prev/cache/images/Lq1DmF8PONiiRmggyY9KAhMDxdi2_fZ7-qBUqt48DMU/31536000.1816361118558.YwAk8JCts-KgEazr_qZ1WoaAWadwUEd2a8xgFJ01V0s.Vy8iMTE5LTE5ZjhmZDhiNmJhIg.webp delete mode 100644 .next.prev/cache/images/TTP2OV5eyvEPyyyxTtBDAOxj88ENgVR9vBrtwk25h8o/31536000.1816361117989.4c6o1hZYYMl-ujMv-qfxnxtsEf61LCCrpHv15gq6ics.Vy8iOTYtMTlmOGZkOGI2YmEi.webp delete mode 100644 .next.prev/cache/images/gIBJDM4dxaQ0Onnm0gUzi9OaETcNmzSBhO3Gc_a-0YU/31536000.1816361117993.z5hrniGlR8AKF4sXJGjEWLWTr47CMmjyJRvmXMc-DB8.Vy8iMmM5LTE5ZjhmZDhiNmI1Ig.webp delete mode 100644 .next.prev/lock diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index aa6a95fb..c2e10a50 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -251,7 +251,7 @@ jobs: if [ -n "${STAGE}" ] && [ -d "${STAGE}" ]; then git -C "${LIVE}" worktree remove --force "${STAGE}" 2>/dev/null || rm -rf "${STAGE}" || true fi - sudo systemctl start atom-nexst.service || true + pm2 start next || true exit 1 } trap 'error_handler $LINENO' ERR @@ -319,8 +319,8 @@ jobs: echo "Cutover: stop service (free DB connections), migrate, swap .next..." CUTOVER_STARTED=1 - sudo systemctl stop atom-nexst.service || true - pkill -f 'next-server' || true + pm2 stop next || true + sleep 2 # Give MariaDB a moment to reclaim the live pool. sleep 2 @@ -372,12 +372,13 @@ jobs: sudo chown -R www-data:www-data "${LIVE}" - echo "Starting systemd service..." - sudo systemctl start atom-nexst.service + echo "Starting PM2..." + pm2 start next --update-env || pm2 restart next --update-env - sleep 2 - if ! systemctl is-active --quiet atom-nexst.service; then - echo "ERROR: atom-nexst.service failed to start!" >&2 + sleep 3 + if ! pm2 show next 2>/dev/null | grep -q 'online'; then + echo "ERROR: PM2 next failed to start!" >&2 + pm2 logs next --lines 20 --nostream >&2 || true exit 1 fi @@ -397,7 +398,7 @@ jobs: if [ "${HEALTH_OK}" != "1" ]; then echo "ERROR: Health check failed after deploy (${HEALTH_URL})" >&2 echo "Last body: ${BODY:-}" >&2 - journalctl -u atom-nexst.service -n 40 --no-pager >&2 || true + pm2 logs next --lines 40 --nostream >&2 || true exit 1 fi diff --git a/.gitignore b/.gitignore index 037c6357..182f7fbe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ node_modules/ .turbo/ .next/ +.next.prev/ next-env.d.ts .env *.tsbuildinfo diff --git a/.next.prev/cache/.previewinfo b/.next.prev/cache/.previewinfo index a7cc01f0..c138d9be 100644 --- a/.next.prev/cache/.previewinfo +++ b/.next.prev/cache/.previewinfo @@ -1 +1 @@ -{"previewModeId":"bfef72bdee7dadd04274877c72066cc9","previewModeSigningKey":"a955b4257ea6feed0eafdc5d75ee5b67c22ef67206ba68f31ed51c4b926b4ceb","previewModeEncryptionKey":"2a7f066562fb84951d3e3ef13e0aa843e6208a1d2cde7799cbc5c9bbae95d1f4","expireAt":1786034301802} \ No newline at end of file +{"previewModeId":"9d3cdf6ac236161a86749c4bf39c3b96","previewModeSigningKey":"61361b2c54874ae756a6d5a022fb4155d75084adfce892918df9a6b3c533a896","previewModeEncryptionKey":"73208b7c131910e75d344ff7ea98d3d28de71f2613b7d063c6f31550f0d939af","expireAt":1786035096997} \ No newline at end of file diff --git a/.next.prev/cache/.rscinfo b/.next.prev/cache/.rscinfo index 8f6b89c6..0fc6220b 100644 --- a/.next.prev/cache/.rscinfo +++ b/.next.prev/cache/.rscinfo @@ -1 +1 @@ -{"encryption.key":"VE1NjtT2PP/NDSoKkOsGd7s65nHwkz01xw2rcnEK+ks=","encryption.expire_at":1786034301798} \ No newline at end of file +{"encryption.key":"2jI+IYNtUDV/7mrRhb7odaXpvSnAoHqbaeBjBIZ+uKQ=","encryption.expire_at":1786035096993} \ No newline at end of file diff --git a/.next.prev/cache/fetch-cache/89948b114034f352519754480126527f7fcfe968330cab2225a73e0993cf5e1c b/.next.prev/cache/fetch-cache/89948b114034f352519754480126527f7fcfe968330cab2225a73e0993cf5e1c deleted file mode 100644 index 436da04b..00000000 --- a/.next.prev/cache/fetch-cache/89948b114034f352519754480126527f7fcfe968330cab2225a73e0993cf5e1c +++ /dev/null @@ -1 +0,0 @@ -{"kind":"FETCH","data":{"headers":{},"body":"[]","status":200,"url":""},"revalidate":60,"tags":["permissions"]} \ No newline at end of file diff --git a/.next.prev/cache/images/COHNDEt-WABx7elW8fTqF-qRcvtnIJOO2AKJ_VO74dg/31536000.1816361117994.YuuE6OXexs3kQGz5gGa7mI8DsGejmYGVdNPkXIXIlIA.Vy8iNDI5LTE5ZjhmZDhiNmI5Ig.webp b/.next.prev/cache/images/COHNDEt-WABx7elW8fTqF-qRcvtnIJOO2AKJ_VO74dg/31536000.1816361117994.YuuE6OXexs3kQGz5gGa7mI8DsGejmYGVdNPkXIXIlIA.Vy8iNDI5LTE5ZjhmZDhiNmI5Ig.webp deleted file mode 100644 index 269101fef665b814229e56060e81a717bd1ffefe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmV+{0n`3cNk&E_0RRA3MM6+kP&il$0000G0000G000gE06|PpNGbpT009p${}B;F zO(a{*`_-3$6r^Dd2e_c7%sEPk=znO26YvsQp|;f;eOd!nP&gpe0001R1OS}@DiHt= z06vj8mq(?eA|Wsc0I(7XY5=h9rgfU`Yoq5YUrr0_rJtw({@b1#Kj>%^%dMK_MPz69 zCw#zJSqFEd;PIt0DLuc#_U6FgxelSX@v+riSTVxnQrA-7obi7jh5$E`cqIG<;$@hx za_7VITk{-3xuf~Wd|VlPt=D=In44BpoF)G!PW@RSO0+}rbq$c0000P%z#z^ diff --git a/.next.prev/cache/images/DNZpkG3_ySLS2g2nXYUmWZyW7qdCkbxbOnK7NETCCcc/31536000.1816361117990.R9m33TyCsC36V_h2kXZqVLv1CAZE-k6NNpZ1QfyZ5kk.Vy8iZWItMTlmOGZkOGI2Yjki.webp b/.next.prev/cache/images/DNZpkG3_ySLS2g2nXYUmWZyW7qdCkbxbOnK7NETCCcc/31536000.1816361117990.R9m33TyCsC36V_h2kXZqVLv1CAZE-k6NNpZ1QfyZ5kk.Vy8iZWItMTlmOGZkOGI2Yjki.webp deleted file mode 100644 index 0a9c7ab41668a4f6924b3db146465ebe4811db2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmV-80muGQNk&F60RRA3MM6+kP&il$0000G0000D000mG06|PpNGt#V009p${}B;_ zQ6x! z-P41l#7#WJAUqPO<4zw*!Th;3IR=+v{QKo2DH4U-H*2raOFY)d?xLLdd~t<1;gAFQ zqVKv)%f++K2y(;LAEbAia@-*^+>o00+35<`igyuonI`)0i0RRA3MM6+kP&il$0000G0000M000#L06|PpNGJdR009p${}B;F zK^sZR3OO(5Y|r*RGf0T&e+WRJUF$~ImhFdU%|=%N09H^qAbbG;01yfQodGHr02Tl~ zkvy45C8HvtC=F1s5(z*V97F-UE#&EJ0o32$Bg%f*;Q->3{Lk&X;JfwD$nRC3A9^4E zxZW!a6EStL)WUxc$7yFOCers5N3ha~1pom4@koAYTQ>BK{(pz8u?g)-JMoF<2ONjC zNk%0i2W`E&?q0=HB(lKAskTDSWexLC))q9P>8-F2NX=zvd;>V<& z)G+;nF{v=65(a&{LSmNJ>-kZrUrMcqT!=U9sQ_cRdN+>u991l@qu=YUr<=9u4rwuJ z+}8?!?~iW`sUiEd+06gmhoM3|X*Ztr>kpJc;z;I{p$tZ1|A22kwFUNSj<t#QspwxM00000u5J>#l za(a!3hy?|0+eqGj{Ba+Ei2g@FC%hj58dgv^Ad~3YDG*2>p9bTL}dDWPqRXZ?UNJp;I~ zw4PR