mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-17 13:55:08 +00:00
Add numeric prefixes (01-08) to documentation directories to indicate reading order and flow for first-time users: - 01-getting-started: Quick start guides - 02-setup: Setup and configuration - 03-production: Production deployment - 04-operations: Site operations - 05-development: Development guides - 06-migration: Migration guides - 07-troubleshooting: Troubleshooting - 08-reference: Reference documentation Add numeric prefixes to files within directories to guide readers through documentation in a logical sequence. Update all cross-references throughout documentation to use new numbered paths. Update README.md to reflect the new structure.
6.6 KiB
6.6 KiB
Environment Variables Reference
Environment variables configure your Frappe Docker setup. They can be set directly in the container or defined in a .env file referenced by Docker Compose.
Getting Started:
cp example.env .env
Then edit .env and set variables according to your needs.
Required Variables
| Variable | Purpose | Example | Notes |
|---|---|---|---|
FRAPPE_PATH |
Frappe framework path | https://github.com/frappe/frappe | |
FRAPPE_BRANCH |
Frappe Branch | version-15 |
See Frappe releases |
ERPNEXT_VERSION |
ERPNext release version | v15.67.0 |
Required although its never used |
DB_PASSWORD |
Password for database root (MariaDB or Postgres) | secure_password_123 |
Not needed if using DB_PASSWORD_SECRETS_FILE |
Database Configuration
| Variable | Purpose | Default | When to Set |
|---|---|---|---|
DB_PASSWORD |
Database root user password | 123 | Always (unless using secrets file) |
DB_PASSWORD_SECRETS_FILE |
Path to file containing database password | — | Setup mariadb-secrets overrider |
DB_HOST |
Database hostname or IP | db (service name) |
Only if using external database |
DB_PORT |
Database port | 3306 (MariaDB) / 5432 (Postgres) |
Only if using external database |
Redis Configuration
| Variable | Purpose | Default | When to Set |
|---|---|---|---|
REDIS_CACHE |
Redis hostname for caching | redis-cache (service name) |
Only if using external Redis instance |
REDIS_QUEUE |
Redis hostname for job queues and real-time updates | redis-queue (service name) |
Only if using external Redis instance |
HTTPS & SSL Configuration
| Variable | Purpose | Default | When to Set |
|---|---|---|---|
LETSENCRYPT_EMAIL |
Email for Let's Encrypt certificate registration | — | Required if using HTTPS override |
SITES |
List of domains for SSL certificates | — | Required if using reverse proxy override |
Format for SITES:
# Single site
SITES=`mysite.example.com`
# Wildcard (any subdomain)
SITES=`{any:.+}`
Site Configuration
| Variable | Purpose | Default | When to Set |
|---|---|---|---|
FRAPPE_SITE_NAME_HEADER |
Site name for multi-tenant setup | $host (resolved from request hostname) |
When accessing by IP or need explicit site name |
Examples:
If your site is named mysite but you want to access it via 127.0.0.1:
FRAPPE_SITE_NAME_HEADER=mysite
If your site is named example.com and you access it via that domain, no need to set this (defaults to hostname).
Image Configuration
| Variable | Purpose | Default | Notes |
|---|---|---|---|
CUSTOM_IMAGE |
Custom Docker image repository | Frappe official image | Leave empty to use default |
CUSTOM_TAG |
Custom Docker image tag | Latest stable | Corresponds to FRAPPE_VERSION |
PULL_POLICY |
Image pull behavior | always |
Options: always, never, if-not-present |
RESTART_POLICY |
Container restart behavior | unless-stopped |
Options: no, always, unless-stopped, on-failure |
Nginx Proxy Configuration
| Variable | Purpose | Default | Allowed Values |
|---|---|---|---|
BACKEND |
Backend service address and port | 0.0.0.0:8000 |
{host}:{port} |
SOCKETIO |
Socket.IO service address and port | 0.0.0.0:9000 |
{host}:{port} |
HTTP_PUBLISH_PORT |
Published HTTP port | 8080 |
Any available port |
PROXY_READ_TIMEOUT |
Upstream request timeout | 120s |
Any nginx timeout value (e.g., 300s, 5m) |
CLIENT_MAX_BODY_SIZE |
Maximum upload file size | 50m |
Any nginx size value (e.g., 100m, 1g) |
Real IP Configuration (Behind Proxy)
Use these variables when running behind a reverse proxy or load balancer:
| Variable | Purpose | Default |
|---|---|---|
UPSTREAM_REAL_IP_ADDRESS |
Trusted upstream IP address for real IP detection | 127.0.0.1 |
UPSTREAM_REAL_IP_HEADER |
Request header containing client IP | X-Forwarded-For |
UPSTREAM_REAL_IP_RECURSIVE |
Enable recursive IP search | off |