## Environment Variables All of the commands are directly passed to container as per type of service. Only environment variables used in image are for `nginx-entrypoint.sh` command. They are as follows: - `BACKEND`: Set to `{host}:{port}`, defaults to `0.0.0.0:8000` - `SOCKETIO`: Set to `{host}:{port}`, defaults to `0.0.0.0:9000` - `UPSTREAM_REAL_IP_ADDRESS`: Set Nginx config for [ngx_http_realip_module#set_real_ip_from](http://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from), defaults to `127.0.0.1` - `UPSTREAM_REAL_IP_HEADER`: Set Nginx config for [ngx_http_realip_module#real_ip_header](http://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header), defaults to `X-Forwarded-For` - `UPSTREAM_REAL_IP_RECURSIVE`: Set Nginx config for [ngx_http_realip_module#real_ip_recursive](http://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_recursive) Set defaults to `off` - `FRAPPE_SITE_NAME_HEADER`: Set proxy header `X-Frappe-Site-Name` and serve site named in the header, defaults to `$host`, i.e. find site name from host header. More details [below](#frappe_site_name_header) - `PROXY_READ_TIMEOUT`: Upstream gunicorn service timeout, defaults to `120` - `CLIENT_MAX_BODY_SIZE`: Max body size for uploads, defaults to `50m` To bypass `nginx-entrypoint.sh`, mount desired `/etc/nginx/conf.d/default.conf` and run `nginx -g 'daemon off;'` as container command. ## Configuration We use environment variables to configure our setup. docker-compose uses variables from `.env` file. To get started, copy `example.env` to `.env`. ### `FRAPPE_VERSION` Frappe framework release. You can find all releases [here](https://github.com/frappe/frappe/releases). ### `DB_PASSWORD` Password for MariaDB (or Postgres) database. ### `DB_HOST` Hostname for MariaDB (or Postgres) database. Set only if external service for database is used. ### `DB_PORT` Port for MariaDB (3306) or Postgres (5432) database. Set only if external service for database is used. ### `REDIS_CACHE` Hostname for redis server to store cache. Set only if external service for redis is used. ### `REDIS_QUEUE` Hostname for redis server to store queue data and socketio. Set only if external service for redis is used. ### `ERPNEXT_VERSION` ERPNext [release](https://github.com/frappe/erpnext/releases). This variable is required if you use ERPNext override. ### `LETSENCRYPT_EMAIL` Email that used to register https certificate. This one is required only if you use HTTPS override. ### `FRAPPE_SITE_NAME_HEADER` This environment variable is not required. Default value is `$$host` which resolves site by host. For example, if your host is `example.com`, site's name should be `example.com`, or if host is `127.0.0.1` (local debugging), it should be `127.0.0.1` This variable allows to override described behavior. Let's say you create site named `mysite` and do want to access it by `127.0.0.1` host. Than you would set this variable to `mysite`. There is other variables not mentioned here. They're somewhat internal and you don't have to worry about them except you want to change main compose file.