-
Notifications
You must be signed in to change notification settings - Fork 0
Adding Removing Extensions
There are two primary steps to adding an extension to our deployment.
- Installing the extension within the
CKANdocker image. - Adding the extension's plugins to the list of installed plugins in
ckan.ini(key:ckan.plugins). - (rarely) Install any extra requirements for the extension.
Add a RUN instruction to ckan/Dockerfile (ckan/Dockerfile.dev in development) that loads the extension code into the image and installs any python requirements for the extension.
e.g. with extra requirements and from GitHub - DCAT
RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git#egg=ckanext-dcat && \
pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txte.g. without extra requirements and from PyPi - PDF View
RUN pip3 install ckanext-pdfviewEdit the .env file for the deployment and add the plugin to CKAN__PLUGINS.
Plugins are loaded in reverse order from right to left. The plugin envvars must be loaded first (i.e. the last in the list).
This step will vary from extension to extension and most extensions won't require anything to be done in this step.
Based on the instructions in the extensions installation instructions you may need to do one or more of the following.
- Adding them to the
.envfile (check the ckanext-envvars syntax for env vars) - Adding extra configuration scripts to
ckan/docker-entrypoint.dfolder to run arbitrary installation steps on theCKANimage. - (dev only) Adding extra configuration scripts to
postgresql/docker-entrypoint.dfolder to run arbitrary installation steps on thedbimage. OR (production only) make changes to the production database as needed by the extension.