Documentation Index Fetch the complete documentation index at: https://docs.unpod.dev/llms.txt
Use this file to discover all available pages before exploring further.
Environment Configuration
Copy .env.example to .env at the repo root. The Docker simple setup passes all variables to containers automatically.
For local development, each app reads config from:
App Config Source backend-core.env in its own directory (DJANGO_READ_DOT_ENV_FILE=True)api-services.env from monorepo root via python-dotenvwebapps/web/.env.local (copy from .env.local.example)super.env from monorepo root via python-dotenv
Frontend (apps/web/.env.local)
Variable Default Description API_URLhttp://localhost:8000Backend API base URL PRODUCT_IDunpodProduct identifier IS_DEV_MODEtrueEnable development mode CURRENCYUSDDefault currency LIVEKIT_URLws://localhost:7880LiveKit WebSocket URL CENTRIFUGO_URLws://localhost:8000/connection/centrifugoCentrifugo WebSocket URL
Backend Core (.env)
Variable Required Description DJANGO_SECRET_KEYYes Django secret key POSTGRES_HOSTYes PostgreSQL host (localhost) POSTGRES_PORTYes PostgreSQL port (5432) POSTGRES_DBYes Database name (unpod_db) POSTGRES_USERYes Database user (postgres) POSTGRES_PASSWORDYes Database password MONGO_DSNYes MongoDB connection string REDIS_URLYes Redis URL (redis://localhost:6379/1) BASE_URLYes Backend base URL (http://localhost:8000) BASE_FRONTEND_URLYes Frontend URL (http://localhost:3000)
Voice AI (apps/super)
Variable Required Description LIVEKIT_URLYes LiveKit WebSocket URL LIVEKIT_API_KEYYes LiveKit API key LIVEKIT_API_SECRETYes LiveKit API secret OPENAI_API_KEYYes OpenAI API key ANTHROPIC_API_KEYYes Anthropic API key DEEPGRAM_API_KEYYes Deepgram STT API key CARTESIA_API_KEYYes Cartesia TTS API key PREFECT_API_URLYes Prefect orchestration URL
Optional Variables
Variable Description AWS_ACCESS_KEY_IDS3 storage access key AWS_SECRET_ACCESS_KEYS3 storage secret key AWS_STORAGE_BUCKET_NAMES3 bucket name SENDGRID_API_KEYSendGrid API key for emails
See .env.example for the full list.
Development Commands
Make (uses docker-compose.simple.yml)
Command Description make quick-startFull setup: env + deps + docker + db + migrate make devStart frontend + backend dev servers make dockerStart Docker containers make migrateRun Django migrations make stopStop Docker containers make cleanStop containers and remove all data make logsTail Docker container logs make superuserCreate Django superuser
NPM
Command Description npm run devStart web + backend-core (via NX) npm run dev:frontendFrontend only (port 3000) npm run buildBuild frontend npm run testRun tests npm run e2eE2E tests (Playwright) npm run lint:allLint all projects npm run graphView NX dependency graph
Docker
Development Setup (Recommended)
Uses docker-compose.simple.yml — single PostgreSQL instance, all services pre-configured:
docker compose -f docker-compose.simple.yml up -d # Start
docker compose -f docker-compose.simple.yml logs -f # Logs
docker compose -f docker-compose.simple.yml down # Stop
docker compose -f docker-compose.simple.yml down -v # Stop + remove data
Container Port Service unpod-postgres5432 PostgreSQL 16 unpod-mongodb27017 MongoDB 7 unpod-redis6379 Redis 7 unpod-centrifugo8100 Centrifugo v5 unpod-backend-core8000 Django API unpod-api-services9116 FastAPI unpod-web3000 Next.js
Full Infrastructure
Uses docker-compose.yml — separate PostgreSQL per service + Kafka (KRaft). For microservices development:
Database Commands
cd apps/backend-core
# Run migrations
python manage.py migrate
# Create new migrations after model changes
python manage.py makemigrations
# Seed reference data
python manage.py seed_reference_data
# Setup scheduled tasks
python manage.py setup_schedules
Testing and Quality
cd apps/backend-core
# Run tests
pytest
# Run tests with coverage
pytest --cov
# Type checking
mypy unpod
# Code formatting
black unpod
Next Steps
Architecture Monorepo structure, tech stack, and services overview.
API Documentation Programmatic access to the Unpod platform.