# Social Reporting V2 lives in [`v2/`](./v2). All commands run from there. ```bash cd v2 docker compose -f docker-compose.v2.yml --env-file .env up -d --build npm install npm test # 62 unit tests 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 commit) and is no longer kept on the deployed server. To roll back from V2 to V1, the rollback script will re-clone `v1-archive` if needed: ```bash # On the server export REPO_URL="https://x-token-auth:YOUR_TOKEN@bitbucket.org/zlalani/social-reporting-tool.git" bash /opt/social-reporting-v2/v2/deploy/rollback-to-v1.sh ``` To inspect or check out V1 source locally: ```bash git checkout v1-archive ```