← back to Marketing Command Center
.deploy.conf
25 lines
PROJECT_NAME=marketing-command-center
DEPLOY_PATH=/root/DW-Agents/marketing-command-center
# The MCC listens on 9662 (nginx marketing.agentabrams.com → :9662). 9661 is a
# DIFFERENT app (vendor-scrapers) — pointing here made the smoke test probe the
# wrong service. NOTE: every route is basic-auth fail-closed, so this returns 401
# (the DW-fleet "401 = healthy gate" convention), not 2xx — a 401 HERE means the
# MCC is up + auth is working. Verify live with:
# curl -u admin:$MCC_PASS http://127.0.0.1:9662/api/health
HEALTH_URL=http://127.0.0.1:9662/api/health
# Protect gitignored runtime data from rsync --delete / overwrite on deploy.
# follow-counts history accumulates one real row/day on the remote once IG creds
# land; the local copy is only the dev/seed snapshot — never let it clobber the
# remote's real history. The channels-*/assets/meta-pages files are LIVE-authoritative
# too: they hold the real OAuth tokens, the discovered Pages cache, UI-added assets,
# and the publish outbox — a deploy must NOT overwrite them with the stale local seed
# (doing so wiped a live long-lived Meta token, re-seeded a junk asset, and erased a
# staged post — 2026-07-17).
# engine-queue.json + engine-config.json are LIVE-authoritative runtime state too:
# the queue holds approve/arm/post status mutated ONLY by the running MCC (e.g. the
# Threads items armed via /api/engine/arm on 2026-07-22). A --delete rsync of the
# stale local copy would clobber live status — protect them like the channels-*
# files. (engine-queue.json is also git-tracked, a latent trap; excluding here is
# the deploy-side guard regardless.)
RSYNC_EXTRA_EXCLUDES="follow-counts-history.json follow-counts-accounts.json follow-counts-snapshot.out follow-counts-snapshot.err clients-notes.json channels-outbox.json channels-tokens.json meta-pages.json assets.json assets-catalog.cache.json engine-queue.json engine-config.json"