Configuration
Configure Crucible Community Edition with your API keys, model preferences, and environment settings.
Environment Variables
Configure Crucible via environment variables in your .env file.
API Keys
# OpenAI
OPENAI_API_KEY=sk-...
# Anthropic
ANTHROPIC_API_KEY=sk-ant-...
# Google (Gemini)
GOOGLE_API_KEY=...
# DeepSeek
DEEPSEEK_API_KEY=...
# xAI (Grok)
XAI_API_KEY=...bash
Database Configuration
DATABASE_URL=postgresql://user:password@localhost:5432/roundtable
POSTGRES_USER=roundtable
POSTGRES_PASSWORD=your-secure-password
POSTGRES_DB=roundtablebash
Application Settings
# JWT Secret (generate a secure random string)
JWT_SECRET=your-secret-key-here
# API Base URL
API_BASE_URL=http://localhost:8000
# Frontend URL
FRONTEND_URL=http://localhost:3000
# Environment
ENVIRONMENT=developmentbash
Optional: S3 for Artifacts
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION=us-east-1
S3_BUCKET_NAME=roundtable-artifactsbash
If not configured, artifacts are stored locally.
Model Configuration
Configure which models are available and their default assignments:
# Enable/disable specific providers
ENABLE_OPENAI=true
ENABLE_ANTHROPIC=true
ENABLE_GOOGLE=true
ENABLE_DEEPSEEK=true
# Default model preferences
DEFAULT_OPENAI_MODEL=gpt-4
DEFAULT_ANTHROPIC_MODEL=claude-sonnet-4.5
DEFAULT_GOOGLE_MODEL=gemini-2.5bash
Security Configuration
Security best practices:
- Use strong, unique passwords for database
- Generate a secure JWT_SECRET (at least 32 characters)
- Never commit
.envfiles to version control - Use environment-specific configurations
- Enable HTTPS in production
- Restrict database access to application servers only
Verifying Configuration
After configuration, verify everything works:
# Check API health
curl http://localhost:8000/api/health
# Check database connection
docker compose exec api python -c "from app.db.session import get_db; print('DB OK')"
# Test model connectivity
# (Check logs for model API calls)bash