Core Configuration
Database
| Variable | Required | Description |
|---|---|---|
DATABASE_URL | Yes | PostgreSQL connection string |
DB_POOL_SIZE | No | Database connection pool size (default: 20) |
DB_MAX_OVERFLOW | No | Max overflow connections (default: 10) |
Redis
| Variable | Required | Description |
|---|---|---|
REDIS_URL | Yes | Redis/Valkey connection string |
Authentication
| Variable | Required | Description |
|---|---|---|
JWT_SECRET | Yes | Secret key for JWT signing (min 32 chars) |
SESSION_MAX_AGE_SECONDS | No | Session duration in seconds (default: 604800 / 7 days) |
COOKIE_DOMAIN | No | Cookie domain for cross-subdomain auth |
Deployment Mode
| Variable | Required | Description |
|---|---|---|
DEPLOYMENT_MODE | No | enterprise (default) or saas |
ADMIN_API_SECRET | Yes | Secret for Admin API authentication (min 32 chars) |
- Organization creation only via Admin API
- No public signup flows
- Self-service organization creation
- Billing features enabled
Bootstrapping an Enterprise Install
After deploying Piper in enterprise mode, create the first organization and admin user:Application Settings
| Variable | Required | Description |
|---|---|---|
ENVIRONMENT | No | Environment name (default: production) |
DEBUG | No | Enable debug mode (default: false) |
LOG_LEVEL | No | Logging level (default: INFO) |
FRONTEND_URL | No | Frontend URL for email links |
CORS
| Variable | Required | Description |
|---|---|---|
BACKEND_CORS_ORIGINS | No | Allowed CORS origins (comma-separated) |
LLM Configuration
Piper uses LiteLLM which supports 100+ LLM providers.Cloud LLM (Groq)
| Variable | Required | Description |
|---|---|---|
GROQ_API_KEY | For cloud LLM | Groq API key |
LLM_MODEL | No | Model identifier (default: llama-3.3-70b-versatile) |
AWS Bedrock
For enterprise deployments using AWS Bedrock:| Variable | Required | Description |
|---|---|---|
AWS_ACCESS_KEY_ID | Yes | AWS access key |
AWS_SECRET_ACCESS_KEY | Yes | AWS secret key |
AWS_REGION_NAME | Yes | AWS region |
LLM_MODEL | Yes | Model in LiteLLM format |
Embeddings
| Variable | Required | Description |
|---|---|---|
OPENAI_API_KEY | For embeddings | OpenAI API key |
EMBEDDING_MODEL | No | Embedding model (default: text-embedding-3-small) |
Email (SMTP)
| Variable | Required | Description |
|---|---|---|
SMTP_HOST | Yes | SMTP server host |
SMTP_PORT | No | SMTP server port (default: 587) |
SMTP_USER | No | SMTP username |
SMTP_PASSWORD | No | SMTP password |
SMTP_FROM_EMAIL | No | Sender email address |
SMTP_FROM_NAME | No | Sender display name (default: Piper) |
SMTP_TLS | No | Use TLS (default: true) |
SMTP_SSL | No | Use SSL (default: false) |
Observability
| Variable | Required | Description |
|---|---|---|
LANGSMITH_API_KEY | No | LangSmith API key for tracing |
LANGSMITH_PROJECT | No | LangSmith project name |
LANGSMITH_TRACING | No | Enable LangSmith tracing (default: false) |