Documentation Index
Fetch the complete documentation index at: https://mintlify.com/vemetric/vemetric/llms.txt
Use this file to discover all available pages before exploring further.
Configuration
Vemetric is configured through environment variables defined in a.env file. This page documents all available configuration options.
Core Configuration
Vemetric Token
Internal token used for authenticating Vemetric SDK requests. Generate a unique random string for production.
Database Configuration
PostgreSQL
Vemetric uses PostgreSQL as the primary database for user data, projects, organizations, and application state.PostgreSQL connection string in the format:Default local setup:
- User:
postgres - Password:
password - Host:
localhost - Port:
5433 - Database:
vemetric
The default Docker Compose setup uses port
5433 to avoid conflicts with existing PostgreSQL installations on port 5432.ClickHouse
ClickHouse stores all analytics events, sessions, devices, and user data for high-performance querying.ClickHouse HTTP endpoint for running migrations. Default:
http://localhost:8123ClickHouse username for migrations. Default:
defaultClickHouse password for migrations. Default:
passwordClickHouse database name. Default:
vemetricClickHouse HTTP endpoint for application connections. Default:
http://localhost:8123ClickHouse username for application connections. Default:
defaultClickHouse password for application connections. Default:
passwordClickHouse database name. Default:
vemetricRedis Configuration
Redis connection URL. Used for caching, session storage, and BullMQ job queues.Format:
redis://[username:password@]host:port[/db]Default: redis://localhost:6379Redis is critical for job processing. Ensure Redis persistence is enabled in production to prevent job loss during restarts.
Authentication Configuration
Better Auth
Vemetric uses Better Auth for user authentication.Secret key for signing authentication tokens and sessions.IMPORTANT: Generate a strong random string (at least 32 characters) for production:
The base URL where your Vemetric app is hosted. Used for OAuth callbacks and email links.Examples:
- Development:
http://localhost:4000 - Production:
https://analytics.yourdomain.com
Email Token Secret
Secret key for signing email unsubscribe tokens.Generate a unique random string for production:
Queue Monitoring (BullBoard)
Username for accessing the BullBoard queue monitoring UI at
http://localhost:4100Password for BullBoard authentication. Change this in production!
Optional Integrations
Email (Postmark)
Configure Postmark for transactional emails (user invitations, notifications, drip campaigns).Your Postmark server API token. Get this from your Postmark account.If not configured, email functionality will be disabled.
Postmark message stream ID for transactional emails. Default:
outboundPayments (Paddle)
Configure Paddle for billing and subscriptions (if offering Vemetric as a service).Paddle API key for managing subscriptions and payments.
Paddle webhook secret for verifying webhook authenticity.
Paddle integration is optional and only needed if you plan to offer Vemetric as a paid service to customers.
Avatar Storage (S3-Compatible)
Enable user avatar uploads using any S3-compatible storage provider (AWS S3, Cloudflare R2, MinIO).S3 access key ID for authentication.
S3 secret access key for authentication.
S3-compatible endpoint URL.Examples:
- AWS S3: Leave empty or use regional endpoint
- Cloudflare R2:
https://<account-id>.r2.cloudflarestorage.com - MinIO:
http://minio.yourdomain.com:9000
S3 bucket name for storing avatar images.
S3 bucket region.
- AWS S3: Use region like
us-east-1 - Cloudflare R2: Use
auto
Public URL for accessing uploaded avatars.Examples:
https://avatars.yourdomain.comhttps://<bucket>.s3.amazonaws.com
Optional prefix for avatar object keys.
- Use
avatars/to organize files in a subdirectory - Leave empty for a dedicated subdomain (e.g.,
avatars.example.com)
Environment-Specific Configuration
Development
For local development, use the default.env.example values:
Production
Security Best Practices
Use Strong Secrets
Generate cryptographically secure random strings for all secret values. Never use example or default values in production.
Rotate Secrets
Periodically rotate authentication secrets and API keys. Update them in your deployment without downtime.
Restrict Database Access
Use firewall rules to limit database access to only your application servers.
Use Environment Variables
In containerized environments, pass secrets via environment variables or secret management systems (not .env files).
Validation
Verify your configuration:Next Steps
Database Setup
Set up and migrate PostgreSQL and ClickHouse databases
Monitoring
Monitor your Vemetric deployment