* ci: skip frappe builds * refactor: build only one frappe/erpnext image * fix: lint nginx entrypoint script * docs: update and organize docs * docs: fix lint errors * fix(custom): pass base64 encoded apps json * ci: update dependabot * docs: update contributing * docs: remove info about multi image setup * fix: initiate empty common_site_config.json default config has host keys set to localhost causes connection errors * docs: add details for pwd volumes * fix: symlink assets instead of copy * fix: nginx private files * ci: skip docker compose v2 install for ubuntu-latest * fix: organize layers * feat: allow remove git remote for custom image * docs: allow remove git remote for custom image * fix: remove duplicate --apps_path
3.2 KiB
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 to0.0.0.0:8000
SOCKETIO
: Set to{host}:{port}
, defaults to0.0.0.0:9000
UPSTREAM_REAL_IP_ADDRESS
: Set Nginx config for ngx_http_realip_module#set_real_ip_from, defaults to127.0.0.1
UPSTREAM_REAL_IP_HEADER
: Set Nginx config for ngx_http_realip_module#real_ip_header, defaults toX-Forwarded-For
UPSTREAM_REAL_IP_RECURSIVE
: Set Nginx config for ngx_http_realip_module#real_ip_recursive Set defaults tooff
FRAPPE_SITE_NAME_HEADER
: Set proxy headerX-Frappe-Site-Name
and serve site named in the header, defaults to$host
, i.e. find site name from host header. More details belowPROXY_READ_TIMEOUT
: Upstream gunicorn service timeout, defaults to120
CLIENT_MAX_BODY_SIZE
: Max body size for uploads, defaults to50m
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.
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. Set only if external service for redis is used.
REDIS_SOCKETIO
Hostname for redis server to store socketio data. Set only if external service for redis is used.
ERPNEXT_VERSION
ERPNext release. 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.