2023-04-20 12:17:21 +02:00
|
|
|
version: "3"
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
ckan_storage:
|
|
|
|
pg_data:
|
|
|
|
solr_data:
|
|
|
|
|
|
|
|
services:
|
2023-07-26 10:25:03 +02:00
|
|
|
nginx:
|
|
|
|
container_name: ${NGINX_CONTAINER_NAME}
|
2023-04-20 12:17:21 +02:00
|
|
|
build:
|
2023-07-26 10:25:03 +02:00
|
|
|
context: nginx/
|
2023-04-20 12:17:21 +02:00
|
|
|
dockerfile: Dockerfile
|
|
|
|
env_file:
|
|
|
|
- .env
|
|
|
|
logging:
|
|
|
|
driver: "json-file"
|
|
|
|
options:
|
|
|
|
max-size: "100m"
|
|
|
|
max-file: "10"
|
|
|
|
depends_on:
|
|
|
|
ckan:
|
|
|
|
condition: service_healthy
|
|
|
|
ports:
|
2023-07-26 10:25:03 +02:00
|
|
|
- "0.0.0.0:${NGINX_PORT_HOST}:${NGINX_PORT}"
|
|
|
|
- "0.0.0.0:${NGINX_SSLPORT_HOST}:${NGINX_SSLPORT}"
|
|
|
|
|
2023-04-20 12:17:21 +02:00
|
|
|
ckan:
|
|
|
|
container_name: ${CKAN_CONTAINER_NAME}
|
2023-04-20 13:20:33 +02:00
|
|
|
build:
|
|
|
|
context: ckan/
|
|
|
|
dockerfile: Dockerfile.ghcr
|
2023-04-20 12:17:21 +02:00
|
|
|
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
|
|
|
|
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
|
|
|
|
logging:
|
|
|
|
driver: "json-file"
|
|
|
|
options:
|
|
|
|
max-size: "100m"
|
|
|
|
max-file: "10"
|
|
|
|
depends_on:
|
|
|
|
ckan:
|
|
|
|
condition: service_healthy
|
|
|
|
ports:
|
|
|
|
- "0.0.0.0:${PYCSW_PORT_HOST}:${PYCSW_PORT}"
|
|
|
|
volumes:
|
|
|
|
- ./log:${APP_DIR}/log
|
|
|
|
- ./metadata:${APP_DIR}/metadata
|
|
|
|
restart: on-failure:3
|
|
|
|
healthcheck:
|
|
|
|
test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${PYCSW_PORT}"]
|
2023-07-26 10:25:03 +02:00
|
|
|
|
2023-04-20 12:17:21 +02:00
|
|
|
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
|
|
|
|
logging:
|
|
|
|
driver: "json-file"
|
|
|
|
options:
|
|
|
|
max-size: "100m"
|
|
|
|
max-file: "10"
|
|
|
|
restart: unless-stopped
|
|
|
|
healthcheck:
|
|
|
|
test: ["CMD", "pg_isready", "-U", "ckan"]
|
|
|
|
|
|
|
|
solr:
|
|
|
|
container_name: ${SOLR_CONTAINER_NAME}
|
|
|
|
build:
|
|
|
|
context: solr/
|
|
|
|
dockerfile: Dockerfile.spatial
|
|
|
|
image: ckan/ckan-solr:${SOLR_IMAGE_VERSION}
|
|
|
|
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"]
|