Skip to main content

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/:

FilePurpose
.env.developmentDevelopment settings (API URL, etc.)
.env.stagingStaging settings
.env.productionProduction 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=True
  • DB_ENGINE=django.db.backends.postgresql
  • CORS_ALLOW_ALL_ORIGINS=True