Environment configuration
Basedash requires several environment variables to be configured before deployment. The fastest way to get started is using our environment file generator.Quick start: Generate environment file
Visit https://proud-dog-65.deno.dev/ to generate a ready-to-use.env file with securely generated secrets.
- Fresh secrets every time: Refresh the page to generate a new set of random values
- Copy and customize: Download the file and customize it for your deployment
- Secure by default: All encryption keys, secrets, and passwords are randomly generated
Required core variables
These variables must be set for Basedash to function: Database connection:Optional configuration
Application settings:BASE_URL is highly recommended for production deployments as it’s used for:
- Email links - Ensures invitation emails, password resets, and notifications contain the correct URL to access your Basedash instance
- OAuth callbacks - Required for SSO and third-party integrations to redirect users back to your deployment
- Shared dashboard links - Generated share links will use this URL so recipients can access dashboards
- Webhooks and API callbacks - External services need the correct URL to communicate with your instance
- CORS configuration - Helps ensure proper cross-origin request handling
https://basedash.your-company.com- Production deployment with custom domainhttps://analytics.acme.io- Custom branded URLhttp://localhost:3000- Local development only (not recommended for production)
PostgreSQL database
PostgreSQL is the only database dependency required by Basedash.Automatic PostgreSQL setup
When using Agent deployment or our provided docker-compose file, PostgreSQL is automatically included and configured:- PostgreSQL 16 Alpine container is deployed alongside Basedash
- Automatic migrations run on startup
- Health checks ensure the database is ready before the app starts
- Persistent storage via Docker volumes
PostgreSQL configuration
The following environment variables configure the PostgreSQL instance:Using an external PostgreSQL instance
If you prefer to use an existing PostgreSQL instance instead of the bundled one:-
Point DATABASE_URL to your external instance:
- Ensure your PostgreSQL version is 16 or higher
-
Create the database:
- Migrations will run automatically on first startup
Database backups
For production deployments, we recommend regular backups:AI configuration
Basedash’s AI features require an AI provider. You can use OpenAI, Azure OpenAI, or other OpenAI-compatible providers.OpenAI (default)
To use OpenAI’s API:Azure OpenAI
To use Azure OpenAI Service:Alternative AI providers
Any OpenAI-compatible API can be used by setting a customOPENAI_BASE_URL:
AI feature considerations
When using custom AI models or providers:- SQL generation quality may vary from our tested models
- Performance benchmarks are maintained for default OpenAI models only
- New features may require specific model capabilities
- Token limits and pricing vary by provider
Running without AI features
While AI features enhance the experience, Basedash can run without them. Simply omit the AI configuration variables, and AI-powered features will be disabled.Email configuration
Email is used for notifications, alerts, and user invitations. Basedash supports SMTP for outbound email.SMTP configuration
Configure your SMTP server:- Resend: smtp.resend.com:587
- SendGrid: smtp.sendgrid.net:587
- Mailgun: smtp.mailgun.org:587
- AWS SES: email-smtp.us-east-1.amazonaws.com:587
- Gmail: smtp.gmail.com:587 (requires app password)
Email features
With email configured, users can:- Receive dashboard sharing invitations
- Get alert notifications
- Access password reset functionality
- Receive scheduled report deliveries
Running without email
Email configuration is optional. Without it:- Users can still be added directly in the application
- Sharing and collaboration features remain available
- Alerts can be configured for other channels (e.g., Slack)
Authentication and access control
- SSO integration - Connect to your existing identity providers (see our SSO documentation for details)
- Custom auth providers - We can add support for specific providers as needed
- Multi-organization support - Deploy multiple workspaces or organizations
- Granular permissions - Maintain the same access control features as cloud
Update management
Agent deployment updates
With Agent deployment, updates are managed through the Distr customer portal:- Automatic updates - Enable automatic updates for the latest features and fixes
- Version pinning - Lock to a specific version for stability and testing
- Update scheduling - Control when updates are applied
- Rollback support - Revert to previous versions if needed
Container deployment updates
When using container deployment, you control the update process:- Check for new versions in the Distr customer portal
- Pull the new image from the registry:
- Restart services to apply the update:
- Verify deployment health after updating
Version locking for compliance
For organizations with strict change control:- Lock to specific versions for training periods or audits
- Test updates in a staging environment before production
- Coordinate updates with your internal release schedule
Advanced configuration
Storage (optional)
For avatar and icon uploads, configure S3-compatible storage:Slack integration (optional) - ALPHA
Note: Slack integration is currently in alpha and not fully supported for self-hosted deployments.Enable Slack notifications and alerts:
Logging
Control application verbosity:fatal, error, warn, info, debug, trace
Support and troubleshooting
Getting help
- Distr customer portal - Monitor deployment health and access support resources
- Email support - Reach out to support@basedash.com for configuration assistance
- Documentation - Refer to deployment-specific guides in the portal
Health monitoring
Check application health:Common configuration issues
Application won’t start:- Verify all required environment variables are set
- Check DATABASE_URL format and accessibility
- Ensure CRYPTO_KEY is exactly 64 hex characters
- Review logs:
docker compose logs app
- Verify OPENAI_API_KEY is set correctly
- Check API key has sufficient credits/quota
- Test connectivity to AI provider endpoint
- Verify SMTP credentials and host
- Check SMTP_PORT matches your provider (usually 587 or 465)
- Ensure firewall allows outbound connections on SMTP port
- Test with a simple SMTP client to verify credentials