From 6785cd396d236340babda4198a969951a4aefe06 Mon Sep 17 00:00:00 2001 From: DJP Date: Wed, 29 Apr 2026 18:40:55 -0400 Subject: [PATCH] README: document the cd /opt/social-reporting && git pull && cutover-in-place flow Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 0b4e999..b1bc5c6 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,28 @@ npm run pipe seed --report For the full V2 spec see [DEVELOPER_BRIEF_V2.md](./DEVELOPER_BRIEF_V2.md). +## Deploying V2 over an existing V1 install + +If V1 is already deployed at `/opt/social-reporting`, cut over in place: + +```bash +ssh you@optical-dev.oliver.solutions +cd /opt/social-reporting +git pull origin main # pulls in v2/, removes V1 dirs +bash v2/deploy/cutover-in-place.sh # stops V1, migrates secrets, starts V2 +``` + +The script prompts before doing anything destructive, migrates +APIFY/Anthropic/Azure secrets from V1's `.env` into a fresh `v2/.env`, +swaps the Apache conf to V2's, and starts the V2 docker stack. It also +prompts for the email that will be auto-promoted to super-admin on first +SSO sign-in (`BOOTSTRAP_SUPER_ADMIN_EMAIL`). + +The Azure-registered redirect URI +`https://optical-dev.oliver.solutions/social-reports/login.html` is +preserved by V2 (Vite `base: /social-reports/`, React Router basename, +and an explicit `/login.html` route alias). + ## V1 archive V1 source is preserved on the `v1-archive` branch (frozen at the last V1