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