version: "3" volumes: ckan_config: ckan_home: ckan_storage: pg_data: solr_data: services: nginx: container_name: ${NGINX_CONTAINER_NAME} build: context: nginx/ dockerfile: Dockerfile depends_on: ckan: condition: service_healthy ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" ckan: container_name: ${CKAN_CONTAINER_NAME} build: context: ckan/ dockerfile: Dockerfile args: - TZ=${TZ} env_file: - .env depends_on: db: condition: service_healthy solr: condition: service_healthy redis: condition: service_healthy ports: - "0.0.0.0:${CKAN_PORT}:5000" volumes: - ckan_config:/etc/ckan - ckan_home:/usr/lib/ckan - ckan_storage:/var/lib/ckan restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5000"] datapusher: container_name: ${DATAPUSHER_CONTAINER_NAME} build: context: datapusher/ args: - DATAPUSHER_VERSION=${DATAPUSHER_VERSION} env_file: - .env ports: - "8800:8800" restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:8800"] db: container_name: ${POSTGRESQL_CONTAINER_NAME} build: context: postgresql/ args: - DATASTORE_READONLY_PASSWORD=${DATASTORE_READONLY_PASSWORD} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} environment: - DATASTORE_READONLY_PASSWORD=${DATASTORE_READONLY_PASSWORD} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - PGDATA=/var/lib/postgresql/data/db volumes: - pg_data:/var/lib/postgresql/data restart: unless-stopped healthcheck: test: ["CMD", "pg_isready", "-U", "ckan"] solr: container_name: ${SOLR_CONTAINER_NAME} image: ckan/ckan-solr:${SOLR_IMAGE_VERSION} restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:8983/solr/"] redis: container_name: ${REDIS_CONTAINER_NAME} image: redis:${REDIS_VERSION} restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "-e", "QUIT"]