Skip to main content

Docker and Docker Compose installation

Overview

Contains Docker images for the different components of CKAN Cloud and a Docker compose environment (based on ckan) for development and testing Open Data portals.

tip
GitHub Codespaces
warning

This is a custom installation of Docker Compose with specific extensions for spatial data and GeoDCAT-AP/INSPIRE metadata profiles. For official installations, please have a look: CKAN: Source installation.

Available components

CKAN Docker Platform

Available components:

  • CKAN custom multi-stage build with spatial capabilities from ckan-docker-spatial, an image used as a base and built from the official CKAN repo. The following versions of CKAN are available:
CKAN VersionTypeDocker tagNotes
2.9.8custom imageghcr.io/mjanez/ckan-spatial:ckan-2.9.8Stable version with CKAN 2.9.8
2.9.9custom imageghcr.io/mjanez/ckan-docker:ckan-2.9.9Stable version with CKAN 2.9.9
2.9.10custom imageghcr.io/mjanez/ckan-docker:ckan-2.9.10Stable version with CKAN 2.9.10
2.9.11custom imageghcr.io/mjanez/ckan-docker:ckan-2.9.11Stable version with CKAN 2.9.11
2.9.11latest custom imageghcr.io/mjanez/ckan-docker:masterLatest ckan-docker image.

The non-CKAN images are as follows:

  • PostgreSQL: Custom image based on official PostgreSQL image. Database files are stored in a named volume.
  • Solr: Custom image based on official CKAN pre-configured Solr image. The index data is stored in a named volume and has a custom spatial schema upgrades. [^2]
  • Redis: Standard Redis image
  • NGINX: Latest stable nginx image that includes SSL and Non-SSL endpoints.
  • ckan-pycsw: Custom image based on pycsw CKAN harvester ISO19139 for INSPIRE Metadata CSW Endpoint.

Optional HTTP Endpoint (docker-compose.apache.yml):

  • docker-compose.apache.yml:
    • Apache HTTP Server: Custom image based on official latest stable httpd image. Configured to serve multiple routes for the ckan-pycsw CSW endpoint ({CKAN_SITE_URL}/csw) and CKAN ({CKAN_SITE_URL}/catalog). Only HTTP.

The site is configured using environment variables that you can set in the .env file for an NGINX and ckan-pycsw deployment (default .env.example), or replace it with the .env.apache.example for a Apache HTTP Server deployment using the Docker Compose file: docker-compose.apache.yml.