volumes: ckan_storage: ckan_logs: pg_data: solr_data: pip_cache: site_packages: services: nginx: build: context: nginx/ dockerfile: Dockerfile env_file: - .env logging: driver: "json-file" options: max-size: "100m" max-file: "10" networks: - webnet - ckannet depends_on: - ckan ports: - "0.0.0.0:${NGINX_PORT_HOST}:${NGINX_PORT}" - "0.0.0.0:${NGINX_SSLPORT_HOST}:${NGINX_SSLPORT}" restart: on-failure:3 ckan: build: context: ckan/ dockerfile: Dockerfile args: - TZ=${TZ} networks: - ckannet - dbnet - solrnet - redisnet env_file: - .env logging: driver: "json-file" options: max-size: "100m" max-file: "10" depends_on: - db - solr - redis volumes: - ckan_storage:/var/lib/ckan - ckan_logs:/var/log - pip_cache:/root/.cache/pip - site_packages:/usr/lib/python3.9/site-packages restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${CKAN_PORT}"] pycsw: build: context: ckan-pycsw/ dockerfile: Dockerfile env_file: - .env logging: driver: "json-file" options: max-size: "100m" max-file: "10" networks: - webnet - ckannet depends_on: - ckan volumes: - ./log:${APP_DIR}/log - ./metadata:${APP_DIR}/metadata restart: on-failure:3 healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${PYCSW_PORT}"] db: build: context: postgresql/ networks: - dbnet 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 logging: driver: "json-file" options: max-size: "100m" max-file: "10" restart: unless-stopped healthcheck: test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}"] solr: build: context: solr/ dockerfile: Dockerfile.spatial networks: - solrnet 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: image: redis:${REDIS_VERSION} logging: driver: "json-file" options: max-size: "100m" max-file: "10" networks: - redisnet restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "-e", "QUIT"] networks: webnet: ckannet: solrnet: internal: true dbnet: internal: true redisnet: internal: true