Environment Variables
Resibibo uses environment files at multiple levels.
Root .env
Used by Docker Compose to configure services.
# Database
POSTGRES_USER=resibibo
POSTGRES_PASSWORD=your_password
POSTGRES_DB=resibibo
# Django
DJANGO_SECRET_KEY=your-secret-key
DJANGO_DEBUG=True
DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1
# Mobile (for physical device testing)
HOST_IP=your-machine-ip
Backend apps/server/.env
Used when running the Django server locally (without Docker).
DJANGO_SECRET_KEY=your-secret-key
DJANGO_DEBUG=True
DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1
# Database (SQLite for local dev, PostgreSQL in Docker)
DB_ENGINE=django.db.backends.sqlite3
DB_NAME=db.sqlite3
# For PostgreSQL (Docker):
# DB_ENGINE=django.db.backends.postgresql
# DB_NAME=resibibo
# DB_USER=resibibo
# DB_PASSWORD=resibibo_dev_password
# DB_HOST=db
# DB_PORT=5432
CORS_ALLOW_ALL_ORIGINS=True
# Required for receipt parsing and AI agent
OPENAI_API_KEY=your-openai-api-key
Mobile Client
Environment files in apps/mobile-client/:
| File | Purpose |
|---|---|
.env.development | Development settings (API URL, etc.) |
.env.staging | Staging settings |
.env.production | Production settings |
These are managed by Expo's environment variable system.
Docker Compose Defaults
When using Docker Compose, environment variables are passed to containers with sensible defaults. See docker-compose.yml for the full list. Key defaults:
DJANGO_DEBUG=TrueDB_ENGINE=django.db.backends.postgresqlCORS_ALLOW_ALL_ORIGINS=True