This commit is contained in:
Andras Schmelczer 2026-05-17 10:16:30 +01:00
parent 47d89f6fad
commit 017902b8e6
82 changed files with 331466 additions and 54841 deletions

View file

@ -145,6 +145,13 @@ export STRIPE_WEBHOOK_SECRET=...
export STRIPE_REFERRAL_COUPON_ID=...
export GOOGLE_OAUTH_CLIENT_ID=...
export GOOGLE_OAUTH_CLIENT_SECRET=...
# Optional Bugsink/Sentry-compatible error reporting
export BUGSINK_DSN=...
export FRONTEND_BUGSINK_DSN=...
export BUGSINK_ENVIRONMENT=development
export BUGSINK_RELEASE=...
export BUGSINK_SEND_DEFAULT_PII=false
```
```bash
@ -199,3 +206,25 @@ docker build -t property-map .
The container entrypoint runs `property-map-server` with the expected data paths
under `/app/data` and serves `frontend/dist` when `--dist` is present.
## Bugsink
Bugsink is wired through the Sentry-compatible SDKs. Set `BUGSINK_DSN` for the
Rust API and `FRONTEND_BUGSINK_DSN` for the browser app. If the frontend DSN is
omitted, the server falls back to `BUGSINK_DSN` when injecting runtime config
into served HTML.
The frontend build also accepts `FRONTEND_BUGSINK_DSN`, `BUGSINK_ENVIRONMENT`,
`BUGSINK_RELEASE`, and `BUGSINK_SEND_DEFAULT_PII` as build-time values. Runtime
HTML injection is preferred for Docker deployments because the DSN can be set
with environment variables when the container starts.
Production Webpack builds emit hidden source maps. Upload them to Bugsink after
building if you want browser stack traces to resolve to source:
```bash
cd frontend
npx sentry-cli sourcemaps inject dist
SENTRY_AUTH_TOKEN=... npx sentry-cli --url https://your-bugsink-instance \
sourcemaps --org bugsinkhasnoorgs --project ignoredfornow upload dist
```