Merge branch 'master' into feature/postgres-15
This commit is contained in:
commit
cb5f3afba8
7
.env
7
.env
|
@ -70,13 +70,6 @@ REDIS_VERSION=6
|
|||
CKAN_REDIS_URL=redis://redis:6379/1
|
||||
TEST_CKAN_REDIS_URL=redis://redis:6379/1
|
||||
|
||||
# Datapusher - Deprecated by ckanext-xloader
|
||||
DATAPUSHER_VERSION=0.0.19
|
||||
CKAN_DATAPUSHER_URL=http://datapusher:8800
|
||||
CKAN__DATAPUSHER__CALLBACK_URL_BASE=http://ckan:5000
|
||||
DATAPUSHER_REWRITE_RESOURCES=True
|
||||
DATAPUSHER_REWRITE_URL=http://ckan:5000
|
||||
|
||||
# NGINX
|
||||
NGINX_PORT=80
|
||||
NGINX_SSLPORT=443
|
||||
|
|
|
@ -381,4 +381,4 @@ Available components:
|
|||
[^3]: Development environment.
|
||||
[^4]: Production environment.
|
||||
[^5]: [ckan_geodcatap](https://github.com/mjanez/ckanext-scheming/blob/036b8c6503059e0d42b0eba180d5bd39205c64a3/ckanext/scheming/ckan_geodcatap.yaml), more info: https://github.com/mjanez/ckanext-scheming/pull/1
|
||||
[^6]: A fork of [COATNor/coat2pycsw](https://github.com/COATnor/coat2pycsw) that has been extended to meet the needs of harvesting GeoDCAT-AP metadata according to INSPIRE ISO19139.
|
||||
[^6]: A fork of [COATNor/coat2pycsw](https://github.com/COATnor/coat2pycsw) that has been extended to meet the needs of harvesting GeoDCAT-AP metadata according to INSPIRE ISO19139.
|
||||
|
|
114
ckan/Dockerfile
114
ckan/Dockerfile
|
@ -1,117 +1,13 @@
|
|||
FROM alpine:3.13
|
||||
FROM ghcr.io/mjanez/ckan-base-spatial:master
|
||||
|
||||
# Internals, you probably don't need to change these
|
||||
# Set up environment variables
|
||||
ENV APP_DIR=/srv/app
|
||||
ENV SRC_DIR=/srv/app/src
|
||||
ENV CKAN_INI=${APP_DIR}/ckan.ini
|
||||
ENV PIP_SRC=${SRC_DIR}
|
||||
ENV CKAN_STORAGE_PATH=/var/lib/ckan
|
||||
ENV GIT_URL=https://github.com/ckan/ckan.git
|
||||
ENV TZ=UTC
|
||||
RUN echo ${TZ} > /etc/timezone
|
||||
# CKAN version to build
|
||||
ENV GIT_BRANCH=ckan-2.9.8
|
||||
# Customize these on the .env file if needed
|
||||
ENV CKAN_SITE_URL=http://localhost:5000
|
||||
ENV CKAN__PLUGINS image_view text_view recline_view datastore datapusher envvars
|
||||
|
||||
# UWSGI options
|
||||
ENV UWSGI_HARAKIRI=50
|
||||
|
||||
WORKDIR ${APP_DIR}
|
||||
|
||||
# Install necessary packages to run CKAN
|
||||
RUN apk add --no-cache tzdata \
|
||||
git \
|
||||
gettext \
|
||||
postgresql-client \
|
||||
python3 \
|
||||
libxml2 \
|
||||
libxslt \
|
||||
musl-dev \
|
||||
uwsgi \
|
||||
uwsgi-http \
|
||||
uwsgi-corerouter \
|
||||
uwsgi-python \
|
||||
py3-gevent \
|
||||
uwsgi-gevent \
|
||||
libmagic \
|
||||
curl \
|
||||
patch \
|
||||
sudo && \
|
||||
# Packages to build CKAN requirements and plugins
|
||||
apk add --no-cache --virtual .build-deps \
|
||||
postgresql-dev \
|
||||
gcc \
|
||||
make \
|
||||
g++ \
|
||||
autoconf \
|
||||
automake \
|
||||
libtool \
|
||||
python3-dev \
|
||||
libxml2-dev \
|
||||
libxslt-dev \
|
||||
linux-headers \
|
||||
openssl-dev \
|
||||
libffi-dev \
|
||||
cargo \
|
||||
# Set up PROJ
|
||||
geos-dev \
|
||||
proj \
|
||||
proj-util \
|
||||
proj-dev && \
|
||||
# Create SRC_DIR
|
||||
mkdir -p ${SRC_DIR} && \
|
||||
# Install pip, supervisord and uwsgi
|
||||
curl -o ${SRC_DIR}/get-pip.py https://bootstrap.pypa.io/get-pip.py && \
|
||||
python3 ${SRC_DIR}/get-pip.py && \
|
||||
pip3 install supervisor && \
|
||||
mkdir /etc/supervisord.d && \
|
||||
#pip wheel --wheel-dir=/wheels uwsgi gevent && \
|
||||
rm -rf ${SRC_DIR}/get-pip.py
|
||||
|
||||
COPY setup/supervisord.conf /etc
|
||||
|
||||
# Install CKAN
|
||||
RUN pip3 install -e git+${GIT_URL}@${GIT_BRANCH}#egg=ckan && \
|
||||
cd ${SRC_DIR}/ckan && \
|
||||
cp who.ini ${APP_DIR} && \
|
||||
pip3 install -r requirement-setuptools.txt && \
|
||||
pip3 install --no-binary markdown -r requirements.txt && \
|
||||
# Install CKAN envvars to support loading config from environment variables
|
||||
pip3 install -e git+https://github.com/okfn/ckanext-envvars.git#egg=ckanext-envvars && \
|
||||
# Create and update CKAN config
|
||||
ckan generate config ${CKAN_INI} && \
|
||||
ckan config-tool ${CKAN_INI} "beaker.session.secret = " && \
|
||||
ckan config-tool ${CKAN_INI} "ckan.plugins = ${CKAN__PLUGINS}"
|
||||
|
||||
# Create a local user and group to run the app
|
||||
RUN addgroup -g 92 -S ckan && \
|
||||
adduser -u 92 -h /srv/app -s /bin/bash -D -G ckan ckan
|
||||
|
||||
# Create local storage folder
|
||||
RUN mkdir -p ${CKAN_STORAGE_PATH} && \
|
||||
chown -R ckan:ckan ${CKAN_STORAGE_PATH}
|
||||
|
||||
COPY setup/prerun.py ${APP_DIR}
|
||||
COPY setup/start_ckan.sh ${APP_DIR}
|
||||
ADD https://raw.githubusercontent.com/ckan/ckan/${GIT_BRANCH}/wsgi.py ${APP_DIR}
|
||||
|
||||
# Create entrypoint directory for children image scripts
|
||||
ONBUILD RUN mkdir /docker-entrypoint.d
|
||||
|
||||
RUN chown ckan -R /srv/app
|
||||
|
||||
RUN addgroup sudo && \
|
||||
adduser ckan sudo
|
||||
|
||||
EXPOSE 5000
|
||||
|
||||
HEALTHCHECK --interval=60s --timeout=5s --retries=5 CMD curl --fail http://localhost:5000/api/3/action/status_show || exit 1
|
||||
|
||||
# Make sure both files are not exactly the same
|
||||
RUN if ! [ /usr/share/zoneinfo/${TZ} -ef /etc/localtime ]; then \
|
||||
cp /usr/share/zoneinfo/${TZ} /etc/localtime ;\
|
||||
cp /usr/share/zoneinfo/${TZ} /etc/localtime ;\
|
||||
fi ;
|
||||
|
||||
# Extensions
|
||||
|
@ -120,9 +16,9 @@ RUN pip3 install -e 'git+https://github.com/ckan/ckanext-xloader.git@0.12.2#egg=
|
|||
pip3 install -r ${APP_DIR}/src/ckanext-xloader/requirements.txt && \
|
||||
pip3 install -U requests[security]
|
||||
|
||||
### Harvester - v1.5.0 ###
|
||||
### Harvester - v1.5.1 ###
|
||||
RUN echo "ckan/ckanext-harvest" && \
|
||||
pip3 install -e 'git+https://github.com/ckan/ckanext-harvest.git@v1.5.0#egg=ckanext-harvest' && \
|
||||
pip3 install -e 'git+https://github.com/ckan/ckanext-harvest.git@v1.5.1#egg=ckanext-harvest' && \
|
||||
pip3 install -r ${APP_DIR}/src/ckanext-harvest/pip-requirements.txt
|
||||
|
||||
### Geoview - v0.0.20 ###
|
||||
|
|
|
@ -1,18 +1,13 @@
|
|||
# syntax = edrevo/dockerfile-plus
|
||||
INCLUDE+ Dockerfile
|
||||
FROM ghcr.io/mjanez/ckan-base-spatial:master
|
||||
|
||||
# Set up environment variables
|
||||
ENV APP_DIR=/srv/app
|
||||
ENV TZ=UTC
|
||||
RUN echo ${TZ} > /etc/timezone
|
||||
|
||||
# Set up PROJ
|
||||
# PROJ4 for ckanext-spatial: https://github.com/pyproj4/pyproj/issues/582 // https://github.com/nickumia-reisys/ckanext-geodatagov/commit/ed61ffdd118e21e7a1db482c75738c3f261aa180
|
||||
RUN apk add geos-dev proj proj-util proj-dev
|
||||
|
||||
# Make sure both files are not exactly the same
|
||||
RUN if ! [ /usr/share/zoneinfo/${TZ} -ef /etc/localtime ]; then \
|
||||
cp /usr/share/zoneinfo/${TZ} /etc/localtime ;\
|
||||
cp /usr/share/zoneinfo/${TZ} /etc/localtime ;\
|
||||
fi ;
|
||||
|
||||
# Install any extensions needed by your CKAN instance
|
||||
|
@ -25,54 +20,10 @@ RUN if ! [ /usr/share/zoneinfo/${TZ} -ef /etc/localtime ]; then \
|
|||
#
|
||||
# For instance:
|
||||
#
|
||||
### XLoader ###
|
||||
#RUN pip3 install -e 'git+https://github.com/ckan/ckanext-xloader.git@master#egg=ckanext-xloader' && \
|
||||
# pip3 install -r ${APP_DIR}/src/ckanext-xloader/requirements.txt && \
|
||||
# pip3 install -U requests[security]
|
||||
|
||||
|
||||
###TODO: XLoader ###
|
||||
RUN pip3 install -e 'git+https://github.com/ckan/ckanext-xloader.git@master#egg=ckanext-xloader' && \
|
||||
pip3 install -r ${APP_DIR}/src/ckanext-xloader/requirements.txt && \
|
||||
pip3 install -U requests[security]
|
||||
|
||||
### Harvester ###
|
||||
RUN echo "ckan/ckanext-harvester" && \
|
||||
pip3 install -e 'git+https://github.com/ckan/ckanext-harvest.git@master#egg=ckanext-harvest' && \
|
||||
pip3 install -r ${APP_DIR}/src/ckanext-harvest/pip-requirements.txt
|
||||
# will also require gather_consumer and fetch_consumer processes running (please see https://github.com/ckan/ckanext-harvest)
|
||||
|
||||
### Resource dictionary-Fix version ###
|
||||
RUN echo "mjanez/ckanext-resourcedictionary" && \
|
||||
pip3 install -e git+https://github.com/mjanez/ckanext-resourcedictionary.git#egg=ckanext-resourcedictionary && \
|
||||
pip3 install -r ${APP_DIR}/src/ckanext-resourcedictionary/requirements.txt
|
||||
|
||||
### Geoview ###
|
||||
RUN echo "ckan/ckanext-geoview" && \
|
||||
pip3 install -e git+https://github.com/ckan/ckanext-geoview.git#egg=ckanext-geoview
|
||||
|
||||
### Spatial ### Check solr geoindexing: https://docs.ckan.org/projects/ckanext-spatial/en/latest/spatial-search.html // https://github.com/ckan/ckanext-spatial/issues/195
|
||||
#TODO: 2.10 support reqs: https://github.com/ckan/ckanext-spatial/pull/308
|
||||
RUN echo "ckan/ckanext-spatial" && \
|
||||
pip3 install -e git+https://github.com/ckan/ckanext-spatial.git#egg=ckanext-spatial && \
|
||||
pip3 install -r https://raw.githubusercontent.com/ckan/ckanext-spatial/bae9290395b252ee8e40056256fa694569d1d78b/requirements.txt
|
||||
|
||||
### Scheming-GeoDCAT-AP extended version ###
|
||||
RUN echo "mjanez/ckanext-scheming (GeoDCAT-AP extended version)" && \
|
||||
pip3 install -e git+https://github.com/mjanez/ckanext-scheming.git#egg=ckanext-scheming
|
||||
|
||||
### Pages ###
|
||||
RUN echo "ckan/ckanext-pages" && \
|
||||
pip3 install -e git+https://github.com/ckan/ckanext-pages.git#egg=ckanext-pages
|
||||
|
||||
### PDFView ###
|
||||
RUN echo "ckan/ckanext-pdfview" && \
|
||||
pip3 install -e git+https://github.com/ckan/ckanext-pdfview.git#egg=ckanext-pdfview
|
||||
|
||||
### DCAT-GeoDCAT-AP extended version ###
|
||||
RUN echo "mjanez/ckanext-dcat (GeoDCAT-AP extended version)" && \
|
||||
pip3 install -e git+https://github.com/mjanez/ckanext-dcat.git#egg=ckanext-dcat && \
|
||||
pip3 install -r https://raw.githubusercontent.com/mjanez/ckanext-dcat/master/requirements.txt
|
||||
# RUN pip3 install -e 'git+https://github.com/ckan/ckanext-xloader.git@master#egg=ckanext-xloader' && \
|
||||
# pip3 install -r ${APP_DIR}/src/ckanext-xloader/requirements.txt && \
|
||||
# pip3 install -U requests[security]
|
||||
|
||||
###TODO: ckanext-visualize
|
||||
#https://github.com/keitaroinc/ckanext-visualize
|
||||
|
|
|
@ -11,4 +11,5 @@ echo "Set up ckanext.xloader.api_token in the CKAN config file"
|
|||
ckan config-tool $CKAN_INI "ckanext.xloader.api_token = $(ckan -c $CKAN_INI user token add ckan_admin xloader | tail -n 1 | tr -d '\t')"
|
||||
|
||||
# Setup worker
|
||||
echo "Set up CKAN jobs worker"
|
||||
ckan config-tool $CKAN_INI jobs worker default
|
|
@ -58,7 +58,7 @@ CKAN__RESOURCE_PROXY__MAX_FILE_SIZE=50048576
|
|||
CKAN__RESOURCE_PROXY__CHUNK_SIZE=4096
|
||||
## Default timeout for fetching proxied items
|
||||
CKAN__RESOURCE_PROXY__TIMEOUT=10
|
||||
CKAN__VIEWS__DEFAULT_VIEWS="image_view text_view recline_view recline_grid_view recline_graph_view wmts_view webpage_view geojson_view geo_view shp_view pdf_view"
|
||||
CKAN__VIEWS__DEFAULT_VIEWS="image_view text_view recline_view wmts_view geojson_view geo_view shp_view pdf_view"
|
||||
|
||||
# Solr
|
||||
SOLR_IMAGE_VERSION=2.9-solr8-spatial
|
||||
|
@ -70,13 +70,6 @@ REDIS_VERSION=6
|
|||
CKAN_REDIS_URL=redis://redis:6379/1
|
||||
TEST_CKAN_REDIS_URL=redis://redis:6379/1
|
||||
|
||||
# Datapusher - Deprecated by ckanext-xloader
|
||||
DATAPUSHER_VERSION=0.0.19
|
||||
CKAN_DATAPUSHER_URL=http://datapusher:8800
|
||||
CKAN__DATAPUSHER__CALLBACK_URL_BASE=http://ckan:5000
|
||||
DATAPUSHER_REWRITE_RESOURCES=True
|
||||
DATAPUSHER_REWRITE_URL=http://ckan:5000
|
||||
|
||||
# NGINX
|
||||
NGINX_PORT=80
|
||||
NGINX_SSLPORT=443
|
||||
|
|
Loading…
Reference in New Issue