version: "3" volumes: ckan_storage: pg_data: solr_data: services: apache: container_name: ${APACHE_CONTAINER_NAME} build: context: apache/ dockerfile: Dockerfile env_file: - .env depends_on: ckan-dev: condition: service_healthy ports: - "0.0.0.0:${APACHE_PORT_HOST}:${APACHE_PORT}" restart: on-failure:3 ckan-dev: container_name: ${CKAN_CONTAINER_NAME} build: context: ckan/ dockerfile: Dockerfile.dev args: - TZ=${TZ} env_file: - .env logging: driver: "json-file" options: max-size: "100m" max-file: "10" depends_on: db: condition: service_healthy solr: condition: service_healthy redis: condition: service_healthy ports: - "0.0.0.0:${CKAN_PORT_HOST}:${CKAN_PORT}" volumes: - ckan_storage:/var/lib/ckan - ./src:/srv/app/src_extensions restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${CKAN_PORT}"] pycsw: container_name: ${PYCSW_CONTAINER_NAME} build: context: ckan-pycsw/ dockerfile: Dockerfile env_file: - .env depends_on: ckan-dev: condition: service_healthy ports: - "0.0.0.0:${PYCSW_PORT_HOST}:${PYCSW_PORT}" volumes: - ./log:${APP_DIR}/log - ./metadata:${APP_DIR}/metadata restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${PYCSW_PORT}"] db: container_name: ${POSTGRESQL_CONTAINER_NAME} build: context: postgresql/ environment: - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_DB - CKAN_DB_USER - CKAN_DB_PASSWORD - CKAN_DB - DATASTORE_READONLY_USER - DATASTORE_READONLY_PASSWORD - DATASTORE_DB volumes: - pg_data:/var/lib/postgresql/data restart: unless-stopped healthcheck: test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}"] solr: container_name: ${SOLR_CONTAINER_NAME} build: context: solr/ dockerfile: Dockerfile.spatial env_file: - .env logging: driver: "json-file" options: max-size: "100m" max-file: "10" volumes: - solr_data:/var/solr restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${SOLR_PORT}/solr/"] redis: container_name: ${REDIS_CONTAINER_NAME} image: redis:${REDIS_VERSION} logging: driver: "json-file" options: max-size: "100m" max-file: "10" restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "-e", "QUIT"]