Self-Host the Tracking Ingestion API
Plan and validate a customer-operated Vendo ingestion deployment on supported Node.js infrastructure.
Last reviewed July 25, 2026
Managed setup — Most workspaces should use the tracking host and snippet generated in Vendo. Self-host only when your agreement includes the ingestion package and your team can own its security, uptime, upgrades, and data routing.
The ingestion service runs as a Node.js container on the infrastructure of your choice, behind your own HTTPS reverse proxy. Vendo does not require a specific platform, concurrency, memory, scaling, or timeout value. (Vendo’s managed deployment runs on Hetzner behind Caddy at track.vendodata.com / track-staging.vendodata.com.)
Responsibilities
The operating team owns:
- TLS, DNS, capacity, availability, and incident response;
- secret storage and write-key rotation;
- authentication-provider configuration;
- warehouse permissions, schemas, retention, and cost controls;
- Redis-backed features when enabled;
- logs, metrics, alerts, backups, and upgrades;
- privacy, consent, deletion, and regional requirements.
Required Configuration Families
| Family | Purpose |
|---|---|
| Write-key resolution | Static key or Supabase |
| Warehouse | Project, dataset, table names, and service identity |
| Runtime | Port and deployment-specific process configuration |
| Optional Redis | Rate limiting, live events, sessions, and rules where enabled |
| Pipeline stages | Rules, schema discovery, and live-event switches |
| Admin/demo | Disabled in production unless explicitly required and separately protected |
Use the environment-variable names and release notes shipped with the exact ingestion package version you deploy. Do not copy a production configuration from an example document.
Deployment Checklist
- Confirm the licensed package version and its release notes.
- Provision a dedicated runtime identity and minimum warehouse permissions.
- Create the required warehouse tables from the package schemas or approved setup utility.
- Store secrets in the deployment platform’s secret manager.
- Deploy a versioned, immutable image to a non-production environment.
- Configure HTTPS and the approved tracking domain.
- Test
/health, SDK serving if enabled, authentication, consent, and/collect. - Verify accepted and rejected events in the final warehouse or destination.
- Load-test the expected peak and confirm rate-limit behavior.
- Document rollback, key rotation, incident response, and upgrade ownership before production.
Authentication Modes
The API has exactly two auth modes:
- Static is appropriate only for a deliberately single-tenant deployment.
- Supabase resolves tenant write keys through Supabase, the sole write-key control plane. (The former Firebase and dual modes were retired.)
Provider service credentials stay on the server. Never expose them in the browser snippet.
Verify Every Release
For each upgrade, test a page, track, identify, group, and alias payload; malformed input; an invalid key; consent denied; a retry; and a duplicate event. Compare results with the previous version before shifting production traffic.