Files
MineGeo/docs/vercel-deployment.md

38 lines
2.0 KiB
Markdown

# Deploy MineGeo
Run `npm run deploy` from the project directory. The script collects all web
source files and public assets, uploads them in one request, waits for the build,
and prints the deployment URL. It uses the [Vercel deployments API](https://vercel.com/docs/rest-api/deployments/create-a-new-deployment). The database credentials already configured in
Vercel remain there. The Minecraft rendering worker stays on its current host.
The script excludes Git metadata, local environment files, caches, generated
captures, tests, Java build sources, and development tools. It checks uploaded
content, including the downloadable JARs, for references to the Git server.
Nothing is pushed to Gitea or connected to a Git provider.
Authentication is needed once: run `vercel login`, or put a Vercel token in the
ignored `.env.deploy.local` file as `VERCEL_TOKEN=...`. The Codex Vercel plugin's
login does not sign the local script in. Tokens are never included in the upload
or command output.
Useful options:
- `npm run deploy -- --dry-run`: inspect file count and the privacy check without uploading.
- `npm run deploy -- --preview`: create a preview deployment.
- `npm run deploy -- --help`: show usage.
Vercel Web Analytics is included in the root layout through
`@vercel/analytics/next`, so page views and client-side navigation are tracked
across the site. Enable Web Analytics in the MineGeo project's Analytics tab
before deploying. After deployment, visit the site and navigate between pages
to verify collection. Content blockers can prevent analytics requests.
Analytics uses the existing Vercel project and requires no Git connection or
additional Supabase credentials.
Multiplayer uses the Supabase migration described in [multiplayer.md](multiplayer.md).
Apply that migration to a new database before deploying the multiplayer web files.
The script targets the existing MineGeo project. Set `VERCEL_PROJECT_ID` and
`VERCEL_ORG_ID` to deploy a copy to another Vercel project.