← back to Quadrille House Site
add deploy config: .deploy.conf (port 9944), ecosystem.config.js, deploy-kamatera.sh
732ad3b944fa5d66f6f040424757fd7193743bf3 · 2026-06-23 18:09:09 -0700 · Steve Abrams
pm2 process quadrille-house-site live at root@45.61.58.125:9944 (health OK).
Excludes public/lookbooks (657 MB), data/assets, node_modules, .git from rsync.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Files touched
M .deploy.confA deploy-kamatera.shA ecosystem.config.js
Diff
commit 732ad3b944fa5d66f6f040424757fd7193743bf3
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Tue Jun 23 18:09:09 2026 -0700
add deploy config: .deploy.conf (port 9944), ecosystem.config.js, deploy-kamatera.sh
pm2 process quadrille-house-site live at root@45.61.58.125:9944 (health OK).
Excludes public/lookbooks (657 MB), data/assets, node_modules, .git from rsync.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---
.deploy.conf | 3 ++-
deploy-kamatera.sh | 37 +++++++++++++++++++++++++++++++++++++
ecosystem.config.js | 15 +++++++++++++++
3 files changed, 54 insertions(+), 1 deletion(-)
diff --git a/.deploy.conf b/.deploy.conf
index 50acc03..663133b 100644
--- a/.deploy.conf
+++ b/.deploy.conf
@@ -1,3 +1,4 @@
PROJECT_NAME=quadrille-house-site
DEPLOY_PATH=/root/Projects/quadrille-house-site
-HEALTH_URL=http://127.0.0.1:9943/api/config
+HEALTH_URL=http://127.0.0.1:9944/api/config
+PORT=9944
diff --git a/deploy-kamatera.sh b/deploy-kamatera.sh
new file mode 100755
index 0000000..4adbd13
--- /dev/null
+++ b/deploy-kamatera.sh
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+# deploy-kamatera.sh — rsync + npm ci + pm2 startOrReload + 4-layer health check
+# Usage: bash deploy-kamatera.sh
+set -euo pipefail
+
+REMOTE=root@45.61.58.125
+REMOTE_DIR=/root/Projects/quadrille-house-site
+PORT=9944
+HEALTH=http://127.0.0.1:${PORT}/api/config
+
+echo "==> Step 1: rsync (exclude node_modules, .git, public/lookbooks, data/assets)"
+rsync -az --delete \
+ --exclude=node_modules \
+ --exclude=.git \
+ --exclude='public/lookbooks' \
+ --exclude='data/assets' \
+ --exclude='.env*' \
+ --exclude='*.log' \
+ --exclude='.DS_Store' \
+ . ${REMOTE}:${REMOTE_DIR}/
+
+echo "==> Step 2: npm ci on remote"
+ssh ${REMOTE} "cd ${REMOTE_DIR} && npm ci --omit=dev"
+
+echo "==> Step 3: pm2 startOrReload"
+ssh ${REMOTE} "cd ${REMOTE_DIR} && pm2 startOrReload ecosystem.config.js --update-env && pm2 save"
+
+echo "==> Step 4: health check (origin direct)"
+sleep 2
+ssh ${REMOTE} "curl -sf ${HEALTH} | head -c 200"
+
+echo ""
+echo "==> Deploy complete. Port ${PORT} live on Kamatera."
+echo " Next steps (gated — paste into Kamatera or your session):"
+echo " 1. Set up nginx vhost (see GATED_STEPS.md or the deploy report)"
+echo " 2. certbot SSL"
+echo " 3. CF A record"
diff --git a/ecosystem.config.js b/ecosystem.config.js
new file mode 100644
index 0000000..1b160c8
--- /dev/null
+++ b/ecosystem.config.js
@@ -0,0 +1,15 @@
+module.exports = {
+ apps: [{
+ name: 'quadrille-house-site',
+ script: 'server.js',
+ cwd: '/root/Projects/quadrille-house-site',
+ env: {
+ NODE_ENV: 'production',
+ PORT: 9944
+ },
+ instances: 1,
+ autorestart: true,
+ watch: false,
+ max_memory_restart: '512M'
+ }]
+};
← fbcc6c4 step-0: remap lookbook PDFs to S3 source URLs, drop 657 MB l
·
back to Quadrille House Site
·
add 3D Showroom Experience hero band below top hero (iframe d992b93 →