← back to Dw Yolo Loop
Artmura deploy: auto-pick free port on Kamatera (:9920 taken by another app) + pm2 start with PORT env
6d727715d22fe5e4559597183fe850bda3663a73 · 2026-06-12 11:12:11 -0700 · Steve Abrams
- ss-check finds first free port 9931-9939; pm2 start server.js with VENDOR/BUNDLE/PORT env (not ecosystem hardcode)
- LIVE: https://artmura.designerwallcoverings.com (161 products, LE SSL, CF proxied)
Files touched
M artmura-site/deploy-landing.sh
Diff
commit 6d727715d22fe5e4559597183fe850bda3663a73
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Fri Jun 12 11:12:11 2026 -0700
Artmura deploy: auto-pick free port on Kamatera (:9920 taken by another app) + pm2 start with PORT env
- ss-check finds first free port 9931-9939; pm2 start server.js with VENDOR/BUNDLE/PORT env (not ecosystem hardcode)
- LIVE: https://artmura.designerwallcoverings.com (161 products, LE SSL, CF proxied)
---
artmura-site/deploy-landing.sh | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/artmura-site/deploy-landing.sh b/artmura-site/deploy-landing.sh
index 248e615..43452b5 100755
--- a/artmura-site/deploy-landing.sh
+++ b/artmura-site/deploy-landing.sh
@@ -6,9 +6,13 @@ set -euo pipefail
KAM="${KAM:-root@45.61.58.125}"
APP="/root/Projects/artmura-site"
DOMAIN="artmura.designerwallcoverings.com"
-PORT=9920
REPO="$(cd "$(dirname "$0")/.." && pwd)"
+echo "→ finding a free port on the host"
+PORT=$(ssh "$KAM" 'for p in 9931 9932 9933 9934 9935 9936 9937 9938 9939; do ss -ltn | grep -q ":$p " || { echo $p; break; }; done')
+[ -z "$PORT" ] && { echo "no free port found"; exit 1; }
+echo " using port $PORT"
+
echo "→ shipping app + data + images to $KAM:$APP"
ssh "$KAM" "mkdir -p $APP/_data $APP/_images"
rsync -az --delete --exclude node_modules --exclude _images --exclude _data "$REPO/artmura-site/" "$KAM:$APP/"
@@ -18,7 +22,7 @@ rsync -az "$REPO/scripts/artmura-onboard/data/artmura.json" \
rsync -az "$REPO/.newwall-ref/artmura/images/" "$KAM:$APP/_images/"
echo "→ install + pm2 (BUNDLE=1, port $PORT)"
-ssh "$KAM" "cd $APP && npm install --omit=dev --silent && (pm2 reload ecosystem.config.cjs || pm2 start ecosystem.config.cjs) && pm2 save"
+ssh "$KAM" "cd $APP && npm install --omit=dev --silent && pm2 delete artmura-site 2>/dev/null; cd $APP && VENDOR=artmura BUNDLE=1 PORT=$PORT pm2 start server.js --name artmura-site && pm2 save"
echo "→ nginx vhost"
ssh "$KAM" "cat > /etc/nginx/sites-available/$DOMAIN <<NGINX
← f357517 Artmura landing: self-contained BUNDLE mode + turnkey deploy
·
back to Dw Yolo Loop
·
Artmura landing: re-skin as Designer Wallcoverings house bra 702c6d2 →