Home

Awesome

Pre-configured CKAN Docker images

This is the Git repo of the official Docker images for CKAN.

The images will usually be used as a Docker Compose install in conjunction with other Docker images that make up the CKAN platform. The official CKAN Docker install is located here: ckan-docker

The following CKAN versions are available in base or dev forms. They are distinguished from one another using different Docker image tags:

CKAN VersionTypeBase imageDocker tagNotes
2.9.xbase imagealpine:3.15ckan/ckan-base:2.9.11, ckan/ckan-base:2.9
2.9.xdev imagealpine:3.15ckan/ckan-dev:2.9.11, ckan/ckan-dev:2.9
2.9.xbase imagepython:3.9-slim-bookwormckan/ckan-base:2.9-py3.9, ckan/ckan-base:2.9.11-py3.9
2.9.xdev imagepython:3.9-slim-bookwormckan/ckan-dev:2.9-py3.9, ckan/ckan-dev:2.9.11-py3.9
2.10.xbase imagealpine:3.17ckan/ckan-base:2.10.5, ckan/ckan-base:2.10
2.10.xdev imagealpine:3.17ckan/ckan-dev:2.10.5, ckan/ckan-dev:2.10
2.10.xbase imagepython:3.10-slim-bookwormckan/ckan-base:2.10-py3.10, ckan/ckan-base:2.10.5-py3.10
2.10.xdev imagepython:3.10-slim-bookwormckan/ckan-dev:2.10-py3.10, ckan/ckan-dev:2.10.5-py3.10
2.11.xbase imagepython:3.10-slim-bookwormckan/ckan-base:2.11, ckan/ckan-base:2.11.0, ckan/ckan-base:2.11-py3.10, ckan/ckan-base:2.11.0-py3.10
2.11.xdev imagepython:3.10-slim-bookwormckan/ckan-dev:2.11, ckan/ckan-dev:2.11.0, ckan/ckan-dev:2.11-py3.10, ckan/ckan-dev:2.11.0-py3.10
masterbase imagepython:3.10-slim-bookwormckan/ckan-base:master, ckan/ckan-base:master-py3.10Built daily, do not use in production
masterdev imagepython:3.10-slim-bookwormckan/ckan-dev:master, ckan/ckan-dev:master-py3.10Built daily, do not use in production

Older CKAN versions might be available as image tags but note that these are not supported as per CKAN's release policy.

Repo structure

Each CKAN version is located in separate repo containing:

ckan-X.XX
├── Dockerfile          # Dockerfile for the image (in older versions there might be one for alpine and one for python)
├── VERSION.txt         # Full CKAN version built (eg. 2.11.0, 2.10.5)
├── PYTHON_VERSION.txt  # Python version used (eg. 3.10)
└── setup               # Setup scripts used by the images
    ├── prerun.py
    ├── start_ckan_development.sh
    ├── start_ckan.sh
    ├── unsafe.cert
    └── unsafe.key

Building and Pushing the images

The images can be built locally and tagged appropriately so they can then be pushed into the CKAN DockerHub repo assuming you have the correct permission to do so.

All operations are done using the build.sh script located at the root of the repository.

Usage: ./build.sh <action> [<params>]
Available actions:
  versions                   - Shows the current CKAN versions used
  build <version> [base|dev] - Builds images for a CKAN version
                               Pass 'base' or 'dev' to just build these.
  push  <version>            - Pushes images to the Docker Hub

For instance:

./build.sh build 2.11

./build.sh build master
./build.sh build 2.10 base
./build.sh build 2.9 dev