docker-ckan/docker-compose.yml

170 lines
3.0 KiB
YAML

volumes:
ckan_storage:
ckan_logs:
pg_data:
solr_data:
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}"
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
- /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"
restart: unless-stopped
healthcheck:
test:
[
"CMD",
"wget",
"-qO",
"/dev/null",
"http://localhost:5000"
]
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