Environment variables are in the .env file and loaded into the docker-compose.yml file at runtime. The Dockerfile will need an ARG line also List all env variables and decide where they go .env env-ckan ARG ENV NB: .env variables can be referenced in the docker-compose.yml file (environment: part of the service) The docker-compose.yml file can pass these variables to the Dockerfile as ARG parameters --------------------------- from OKFN --------------------------- # DB image settings POSTGRES_PASSWORD=ckan DATASTORE_READONLY_PASSWORD=datastore # Basic CKAN_SITE_ID=default CKAN_SITE_URL=http://ckan:5000 CKAN_PORT=5000 CKAN_SYSADMIN_NAME=ckan_admin CKAN_SYSADMIN_PASSWORD=test1234 CKAN_SYSADMIN_EMAIL=your_email@example.com TZ=UTC # Database connections (TODO: avoid duplication) CKAN_SQLALCHEMY_URL=postgresql://ckan:ckan@db/ckan CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@db/datastore CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore # Test database connections TEST_CKAN_SQLALCHEMY_URL=postgres://ckan:ckan@db/ckan_test TEST_CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@db/datastore_test TEST_CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore_test # Other services connections CKAN_SOLR_URL=http://solr:8983/solr/ckan CKAN_REDIS_URL=redis://redis:6379/1 CKAN_DATAPUSHER_URL=http://datapusher:8800 CKAN__DATAPUSHER__CALLBACK_URL_BASE=http://ckan:5000 TEST_CKAN_SOLR_URL=http://solr:8983/solr/ckan TEST_CKAN_REDIS_URL=redis://redis:6379/1 # Core settings CKAN__STORAGE_PATH=/var/lib/ckan CKAN_SMTP_SERVER=smtp.corporateict.domain:25 CKAN_SMTP_STARTTLS=True CKAN_SMTP_USER=user CKAN_SMTP_PASSWORD=pass CKAN_SMTP_MAIL_FROM=ckan@localhost # Extensions CKAN__PLUGINS=envvars image_view text_view recline_view datastore datapusher CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 docker-compose.yml DATASTORE_READONLY_PASSWORD=${DATASTORE_READONLY_PASSWORD} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} DATASTORE_READONLY_PASSWORD=${DATASTORE_READONLY_PASSWORD} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} PGDATA=/var/lib/postgresql/data/db