← back to Pm2 Migration
chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew)
cc9d59ebe5774ce1db1643a2458d644873d56c7a · 2026-07-03 08:08:09 -0700 · Steve
Files touched
M ecosystem.config.cjsM migrate.shM processes.jsonM root-shim.jsM start-tunnels.shM state/norma-email.json
Diff
commit cc9d59ebe5774ce1db1643a2458d644873d56c7a
Author: Steve <steve@designerwallcoverings.com>
Date: Fri Jul 3 08:08:09 2026 -0700
chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew)
---
ecosystem.config.cjs | 268 ++++++++++++++++++++++++-------------------------
migrate.sh | 2 +-
processes.json | 6 +-
root-shim.js | 4 +-
start-tunnels.sh | 2 +-
state/norma-email.json | 2 +-
6 files changed, 142 insertions(+), 142 deletions(-)
diff --git a/ecosystem.config.cjs b/ecosystem.config.cjs
index 44dc3c3..2f28a85 100644
--- a/ecosystem.config.cjs
+++ b/ecosystem.config.cjs
@@ -2,49 +2,49 @@ module.exports = {
apps: [
{
"name": "george-gmail",
- "cwd": "/Users/stevestudio2/Projects/george-gmail",
+ "cwd": "/Users/macstudio3/Projects/george-gmail",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "slack-dm-viewer",
- "cwd": "/Users/stevestudio2/Projects/slack-dm-viewer",
+ "cwd": "/Users/macstudio3/Projects/slack-dm-viewer",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "archive-agent",
- "cwd": "/Users/stevestudio2/Projects/archive-agent",
+ "cwd": "/Users/macstudio3/Projects/archive-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "resize-it",
- "cwd": "/Users/stevestudio2/Projects/resize-it",
+ "cwd": "/Users/macstudio3/Projects/resize-it",
"script": "server.py",
"interpreter": "python3",
"autorestart": true,
@@ -53,582 +53,582 @@ module.exports = {
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "timeout-agent",
- "cwd": "/Users/stevestudio2/Projects/timeout-agent",
+ "cwd": "/Users/macstudio3/Projects/timeout-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "sku-check-skill",
- "cwd": "/Users/stevestudio2/Projects/sku-check-skill",
+ "cwd": "/Users/macstudio3/Projects/sku-check-skill",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "plumbing-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/plumbing-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/plumbing-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "update-sku-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/update-sku-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/update-sku-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "vendor-discount-agent",
- "cwd": "/Users/stevestudio2/Projects/vendor-discount-agent",
+ "cwd": "/Users/macstudio3/Projects/vendor-discount-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "claudette-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/claudette-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/claudette-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "dex-dedup-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/dex-dedup-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/dex-dedup-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "gemini-classifier",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/scripts",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/scripts",
"script": "gemini-texture-classify-loop.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "am-recrawl",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/vendor-scrapers",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/vendor-scrapers",
"script": "scrape-andrewmartin.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "blog-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/blog-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/blog-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror",
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror",
"PORT": "9971"
}
},
{
"name": "color-search",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/color-search",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/color-search",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "cost-hunter",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/cost-hunter",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/cost-hunter",
"script": "cost-hunter.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "dex-hash-backfill",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/dex-dedup-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/dex-dedup-agent",
"script": "hash-worker.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "dw-central",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/dw-central",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/dw-central",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "full-monty-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/full-monty-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/full-monty-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "gap-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/gap-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/gap-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "gemini-tag-engine",
- "cwd": "/Users/stevestudio2/kamatera-mirror/Projects/Designer-Wallcoverings/shopify/scripts/gemini-tag-engine",
+ "cwd": "/Users/macstudio3/kamatera-mirror/Projects/Designer-Wallcoverings/shopify/scripts/gemini-tag-engine",
"script": "index.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "gemini-catalog-tagger",
- "cwd": "/Users/stevestudio2/kamatera-mirror/Projects/Designer-Wallcoverings/shopify/scripts",
+ "cwd": "/Users/macstudio3/kamatera-mirror/Projects/Designer-Wallcoverings/shopify/scripts",
"script": "gemini-catalog-tagger.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "graphic-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/graphic-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/graphic-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "hormuz-orchestrator",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/hormuz-orchestrator",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/hormuz-orchestrator",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "launch-supervisor",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/launch-supervisor",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/launch-supervisor",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "product-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/product-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/product-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "hawke",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/hawke-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/hawke-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "yolo-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/yolo-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/yolo-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "silas-sku-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/silas-sku-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/silas-sku-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "vendor-command-center",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/vendor-command-center",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/vendor-command-center",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "vendor-onboarding",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/vendor-onboarding-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/vendor-onboarding-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "room-setting-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/room-setting-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/room-setting-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "shopify-expert-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/shopify-expert-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/shopify-expert-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "shopify-queue-worker",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/shopify-queue-worker",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/shopify-queue-worker",
"script": "worker.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "momentum-pricer",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/momentum-pricer",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/momentum-pricer",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "norma-bluesky",
- "cwd": "/Users/stevestudio2/kamatera-mirror/Projects/Norma/agents/bluesky-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/Projects/Norma/agents/bluesky-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "norma-email",
- "cwd": "/Users/stevestudio2/kamatera-mirror/Projects/Norma/node_modules/.bin",
+ "cwd": "/Users/macstudio3/kamatera-mirror/Projects/Norma/node_modules/.bin",
"script": "next",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "norma-facebook",
- "cwd": "/Users/stevestudio2/kamatera-mirror/Projects/Norma/agents/facebook-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/Projects/Norma/agents/facebook-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "norma-instagram",
- "cwd": "/Users/stevestudio2/kamatera-mirror/Projects/Norma/agents/instagram-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/Projects/Norma/agents/instagram-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "norma-price",
- "cwd": "/Users/stevestudio2/kamatera-mirror/Projects/Norma/agents/price-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/Projects/Norma/agents/price-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "norma-twitter",
- "cwd": "/Users/stevestudio2/kamatera-mirror/Projects/Norma/agents/twitter-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/Projects/Norma/agents/twitter-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "arte-coverage-watch",
- "cwd": "/Users/stevestudio2/kamatera-mirror/Projects/Designer-Wallcoverings/DW-Programming",
+ "cwd": "/Users/macstudio3/kamatera-mirror/Projects/Designer-Wallcoverings/DW-Programming",
"script": "arte-coverage-watch.sh",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "arte-rescrape-loop",
- "cwd": "/Users/stevestudio2/kamatera-mirror/Projects/Designer-Wallcoverings/DW-Programming",
+ "cwd": "/Users/macstudio3/kamatera-mirror/Projects/Designer-Wallcoverings/DW-Programming",
"script": "arte-rescrape-loop.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "artie-agent",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/artie-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/artie-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
},
{
"name": "garrett",
- "cwd": "/Users/stevestudio2/kamatera-mirror/DW-Agents/godaddy-agent",
+ "cwd": "/Users/macstudio3/kamatera-mirror/DW-Agents/godaddy-agent",
"script": "server.js",
- "node_args": "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js",
+ "node_args": "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js",
"autorestart": true,
"watch": false,
"max_memory_restart": "500M",
"env": {
"NODE_ENV": "production",
"LOCAL_MIGRATION": "1",
- "KAMATERA_MIRROR": "/Users/stevestudio2/kamatera-mirror"
+ "KAMATERA_MIRROR": "/Users/macstudio3/kamatera-mirror"
}
}
],
diff --git a/migrate.sh b/migrate.sh
index fe8e531..e3f3330 100755
--- a/migrate.sh
+++ b/migrate.sh
@@ -23,7 +23,7 @@ KAMATERA_HOST="${KAMATERA_HOST:-45.61.58.125}"
# Mirror Kamatera's /root/* layout under ~/kamatera-mirror/* so:
# - shared node_modules and sibling dirs (../shared/X) resolve via Node's normal lookup
# - hardcoded /root/* paths in agent code resolve via root-shim.js
-MIRROR_ROOT="${MIRROR_ROOT:-/Users/stevestudio2/kamatera-mirror}"
+MIRROR_ROOT="${MIRROR_ROOT:-/Users/macstudio3/kamatera-mirror}"
KIT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
STATE_DIR="$KIT_DIR/state"
mkdir -p "$STATE_DIR"
diff --git a/processes.json b/processes.json
index 9aaa428..bdf79c7 100644
--- a/processes.json
+++ b/processes.json
@@ -97,8 +97,8 @@
}
},
"local_layout": {
- "projects_root": "/Users/stevestudio2/Projects",
- "ecosystem_config": "/Users/stevestudio2/Projects/pm2-migration/ecosystem.local.cjs",
- "logs_dir": "/Users/stevestudio2/.pm2/logs"
+ "projects_root": "/Users/macstudio3/Projects",
+ "ecosystem_config": "/Users/macstudio3/Projects/pm2-migration/ecosystem.local.cjs",
+ "logs_dir": "/Users/macstudio3/.pm2/logs"
}
}
diff --git a/root-shim.js b/root-shim.js
index dffa213..331eeea 100644
--- a/root-shim.js
+++ b/root-shim.js
@@ -1,10 +1,10 @@
// pm2-migration/root-shim.js
// Universal path-rewrite shim. Loaded via node --require so all fs calls
// that reference Kamatera-style /root/... paths get transparently redirected
-// to /Users/stevestudio2/kamatera-mirror/...
+// to /Users/macstudio3/kamatera-mirror/...
//
// Used by every migrated agent in ecosystem.config.cjs as:
-// node_args: "--require /Users/stevestudio2/Projects/pm2-migration/root-shim.js"
+// node_args: "--require /Users/macstudio3/Projects/pm2-migration/root-shim.js"
//
// No agent code changes required. Add new dirs to MIRROR as needed.
diff --git a/start-tunnels.sh b/start-tunnels.sh
index 2c971ff..63de66b 100755
--- a/start-tunnels.sh
+++ b/start-tunnels.sh
@@ -37,7 +37,7 @@ sleep 1
export AUTOSSH_POLL=30
export AUTOSSH_GATETIME=0 # don't wait for first successful connection
export AUTOSSH_LOGLEVEL=1 # errors only (was 4 = verbose — log spam source)
-export AUTOSSH_LOGFILE=/Users/stevestudio2/.pm2/logs/kamatera-tunnels.log
+export AUTOSSH_LOGFILE=/Users/macstudio3/.pm2/logs/kamatera-tunnels.log
export AUTOSSH_MAXLIFETIME=43200 # recycle after 12h to clear lingering sockets
# Dedup repeated identical stderr lines (port-bind / timeout spam during outages)
diff --git a/state/norma-email.json b/state/norma-email.json
index f6ec9e6..64d81c5 100644
--- a/state/norma-email.json
+++ b/state/norma-email.json
@@ -1 +1 @@
-{"name":"norma-email","cwd":"/root/Projects/Norma","script":"/root/Projects/Norma/node_modules/.bin/next","interpreter":"/usr/local/bin/node","args":["start","-p","7400"]}
+{"name":"norma-email","cwd":"/root/Projects/Norma","script":"/root/Projects/Norma/node_modules/.bin/next","interpreter":"/opt/homebrew/bin/node","args":["start","-p","7400"]}
← 4015728 broaden .gitignore to cover *.bak.* and *.pre-* snapshot fil
·
back to Pm2 Migration
·
(newest)