254 lines
13 KiB
Plaintext
254 lines
13 KiB
Plaintext
# Base
|
||
APP_DIR=/srv/app
|
||
# Sets Docker Compose project name to avoid resource conflicts between projects. Defaults to the folder name "ckan-docker" if not set.
|
||
#COMPOSE_PROJECT_NAME=ckan-docker-mytheme
|
||
|
||
# Dev settings
|
||
USE_HTTPS_FOR_DEV=False
|
||
CKAN_DEV_COMPOSE_SERVICE=ckan-dev
|
||
## ckan-pycsw unverified mode (True/False). SSL certificate from host will download if SSL_UNVERIFIED_MODE=True, to avoid SSL error when certificate was self-signed.
|
||
SSL_UNVERIFIED_MODE=False
|
||
|
||
# Host Ports
|
||
CKAN_PORT_HOST=5000
|
||
PYCSW_PORT_HOST=8000
|
||
# Common proxy server for Apache or NGINX.
|
||
# Change all the PROXY_SERVER_URL_PORT_HOST to PROXY_SERVER_HTTPS_PORT_HOST if you can use HTTPS instead of HTTP (Only for NGINX and not development compose)
|
||
PROXY_SERVER_HTTP_PORT_HOST=81
|
||
PROXY_SERVER_HTTPS_PORT_HOST=8443
|
||
# Ports for NGINX (matches HTTP/HTTPS ports)
|
||
NGINX_PORT_HOST=${PROXY_SERVER_HTTP_PORT_HOST}
|
||
NGINX_SSLPORT_HOST=${PROXY_SERVER_HTTPS_PORT_HOST}
|
||
# Port for Apache
|
||
APACHE_PORT_HOST=${PROXY_SERVER_HTTP_PORT_HOST}
|
||
|
||
# Server port for the proxy server and CKAN urls. Better using the SSL port.
|
||
# (If needed for Development Mode) uncomment the following line:
|
||
# PROXY_SERVER_URL_PORT_HOST=${PROXY_SERVER_HTTP_PORT_HOST}
|
||
# (If needed for Development Mode) And comment the following line:
|
||
PROXY_SERVER_URL_PORT_HOST=${PROXY_SERVER_HTTPS_PORT_HOST}
|
||
# URL protocol. Change to http if you dont use SSL
|
||
PROXY_SERVER_PROTOCOL=https
|
||
|
||
# Solr
|
||
SOLR_IMAGE_VERSION=2.9-solr9-spatial
|
||
SOLR_PORT=8983
|
||
SOLR_CKAN_DATABASE=ckan
|
||
CKAN_SOLR_URL=http://solr:${SOLR_PORT}/solr/${SOLR_CKAN_DATABASE}
|
||
TEST_CKAN_SOLR_URL=http://solr:${SOLR_PORT}/solr/${SOLR_CKAN_DATABASE}
|
||
|
||
# Redis
|
||
REDIS_VERSION=7-alpine
|
||
REDIS_PORT=6379
|
||
REDIS_CKAN_DATABASE=1
|
||
CKAN_REDIS_URL=redis://redis:${REDIS_PORT}/${REDIS_CKAN_DATABASE}
|
||
TEST_CKAN_REDIS_URL=redis://redis:${REDIS_PORT}/${REDIS_CKAN_DATABASE}
|
||
|
||
# NGINX
|
||
NGINX_PORT=80
|
||
NGINX_SSLPORT=443
|
||
NGINX_LOG_DIR=/var/log/nginx
|
||
|
||
# Apache HTTP Server
|
||
APACHE_VERSION=2.4-alpine
|
||
APACHE_PORT=80
|
||
APACHE_LOG_DIR=/var/log/apache
|
||
|
||
#NGINX/APACHE
|
||
## Check CKAN__ROOT_PATH and CKANEXT__DCAT__BASE_URI and CKANEXT__SCHEMINGDCAT_GEOMETADATA_BASE_URI. If you don't need to use domain locations, it is better to use the nginx configuration. Leave blank or use the root `/`. If you dont need PROXY_SERVER_URL_PORT_HOST (e.g. is 80), edit the PROXY_SERVER_URL and remove :${PROXY_SERVER_URL_PORT_HOST}
|
||
PROXY_SERVER_NAME=localhost
|
||
PROXY_SERVER_URL=${PROXY_SERVER_PROTOCOL}://${PROXY_SERVER_NAME}:${PROXY_SERVER_URL_PORT_HOST}
|
||
PROXY_CKAN_LOCATION=/catalog
|
||
PROXY_PYCSW_LOCATION=/csw
|
||
|
||
# pycsw
|
||
PYCSW_PORT=8000
|
||
CKAN_URL=${PROXY_SERVER_URL}${PROXY_CKAN_LOCATION}
|
||
PYCSW_URL=${PROXY_SERVER_URL}${PROXY_PYCSW_LOCATION}
|
||
# SCHEMAS: ckan2pycsw/model/dataset.py - Dataset type
|
||
PYCSW_CKAN_SCHEMA=iso19139_geodcatap
|
||
PYCSW_OUPUT_SCHEMA=iso19139_inspire
|
||
# ckan-pycsw schedule
|
||
## ckan2pycsw days between each scheduler job
|
||
PYCSW_CRON_DAYS_INTERVAL=2
|
||
# ckan2pycsw hour of start of the scheduler job (0-23)
|
||
PYCSW_CRON_HOUR_START=4
|
||
## Timezone
|
||
TZ=UTC
|
||
|
||
# CKAN databases
|
||
POSTGRES_USER=postgres
|
||
POSTGRES_PASSWORD=postgres
|
||
POSTGRES_DB=postgres
|
||
POSTGRES_HOST=db
|
||
CKAN_DB_USER=ckandbuser
|
||
CKAN_DB_PASSWORD=ckandbpassword
|
||
CKAN_DB=ckandb
|
||
DATASTORE_READONLY_USER=datastore_ro
|
||
DATASTORE_READONLY_PASSWORD=datastore
|
||
DATASTORE_DB=datastore
|
||
CKAN_SQLALCHEMY_URL=postgresql://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/${CKAN_DB}
|
||
CKAN_DATASTORE_WRITE_URL=postgresql://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/${DATASTORE_DB}
|
||
CKAN_DATASTORE_READ_URL=postgresql://${DATASTORE_READONLY_USER}:${DATASTORE_READONLY_PASSWORD}@${POSTGRES_HOST}/${DATASTORE_DB}
|
||
|
||
# Test database connections
|
||
CKAN_TEST_DB=ckan_test
|
||
DATASTORE_TEST_DB=datastore_test
|
||
TEST_CKAN_SQLALCHEMY_URL=postgres://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/${CKAN_TEST_DB}
|
||
TEST_CKAN_DATASTORE_WRITE_URL=postgresql://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/${DATASTORE_TEST_DB}
|
||
TEST_CKAN_DATASTORE_READ_URL=postgresql://${DATASTORE_READONLY_USER}:${DATASTORE_READONLY_PASSWORD}@${POSTGRES_HOST}/${DATASTORE_TEST_DB}
|
||
|
||
# CKAN core
|
||
## If use docker-compose.ghcr.yml only "*.*.*" versions available in: https://github.com/mjanez/ckan-docker/pkgs/container/ckan-docker
|
||
CKAN_VERSION=2.10.5
|
||
CKAN_SITE_ID=default
|
||
# CKAN_SITE_URL = http:/ or https:/ + PROXY_SERVER_NAME. Optionally the APACHE_HOST_PORT if different from 80
|
||
CKAN_SITE_URL=${PROXY_SERVER_URL}
|
||
CKAN__ROOT_PATH=${PROXY_CKAN_LOCATION}/{{LANG}}
|
||
CKAN__FAVICON=${PROXY_CKAN_LOCATION}/base/images/ckan.ico
|
||
CKAN__SITE_LOGO=${PROXY_CKAN_LOCATION}/images/default/ckan-logo.png
|
||
# CKAN site info
|
||
CKAN__SITE_TITLE="CKAN Open Data"
|
||
CKAN__SITE_DESCRIPTION="ckan-docker *spatial Open Data portal"
|
||
# Using [#en#], [#es#], etc. to define the language of the text as needed.
|
||
CKAN__SITE_INTRO_TEXT="[#en#][![ckan-docker-spatial](https://img.shields.io/badge/ckan_docker_spatial-CKAN_${CKAN_VERSION}-brightgreen?style=social&logo=github#center)](https://github.com/mjanez/ckan-docker)\n[`ckan-docker *spatial`](https://github.com/mjanez/ckan-docker) is a ready-to-use development environment for [CKAN](https://github.com/ckan/ckan), the world’s leading open-source data portal platform.[#es#][![ckan-docker-spatial](https://img.shields.io/badge/ckan_docker_spatial-CKAN_${CKAN_VERSION}-brightgreen?style=social&logo=github#center)](https://github.com/mjanez/ckan-docker)\n[`ckan-docker *spatial`](https://github.com/mjanez/ckan-docker) es un entorno de desarrollo listo para usar para [CKAN](https://github.com/ckan/ckan), la plataforma de portales de datos de código abierto líder en el mundo."
|
||
CKAN__SITE_ABOUT=${CKAN__SITE_INTRO_TEXT}
|
||
# Custom licenses that are aligned with DCAT-AP (Also works with DEV Mode)
|
||
LICENSES_GROUP_URL=file://${APP_DIR}/src/ckanext-schemingdcat/ckanext/schemingdcat/public/static/licenses.json
|
||
CKAN___BEAKER__SESSION__SECRET=CHANGE_ME
|
||
# See https://docs.ckan.org/en/latest/maintaining/configuration.html#api-token-settings
|
||
CKAN___API_TOKEN__JWT__ENCODE__SECRET=string:CHANGE_ME
|
||
CKAN___API_TOKEN__JWT__DECODE__SECRET=string:CHANGE_ME
|
||
CKAN_SYSADMIN_NAME=ckan_admin
|
||
CKAN_SYSADMIN_PASSWORD=test1234
|
||
CKAN_SYSADMIN_EMAIL=your_emai@${PROXY_SERVER_NAME}
|
||
CKAN_STORAGE_PATH=/var/lib/ckan
|
||
CKAN_LOGS_PATH=/var/log
|
||
# SMTP settings
|
||
CKAN__SMTP_ENABLED=False
|
||
CKAN_SMTP_SERVER=smtp.corporateict.domain:25
|
||
CKAN_SMTP_STARTTLS=True
|
||
CKAN_SMTP_USER=user
|
||
CKAN_SMTP_PASSWORD=pass
|
||
CKAN_SMTP_MAIL_FROM=ckan@${PROXY_SERVER_NAME}
|
||
## Customize which text formats the text_view plugin will show
|
||
CKAN__PREVIEW__JSON_FORMATS="json jsonld"
|
||
# html htm rdf+xml owl+xml xml n3 n-triples turtle plain atom csv tsv rss txt json
|
||
CKAN__PREVIEW__XML_FORMATS="xml rdf rdf+xml owl+xml atom rss turtle ttl n3 n-triples"
|
||
CKAN__PREVIEW__TEXT_FORMATS="text plain text/plain text/turtle rss txt"
|
||
CKAN__PREVIEW__LOADABLE="html htm rdf+xml owl+xml xml n3 n-triples turtle plain atom csv tsv rss txt json arcgis_rest"
|
||
# ckanext-spatial: Allow Solr local params: https://github.com/ckan/ckanext-spatial/issues/328
|
||
CKAN__SEARCH__SOLR_ALLOWED_QUERY_PARSERS=field
|
||
# CORS Settings. If True, all origins will be allowed (the response header Access-Control-Allow-Origin is set to ‘*’). If False, only origins from the ckan.cors.origin_whitelist setting will be allowed.
|
||
CKAN__CORS__ORIGIN_ALLOW_ALL=False
|
||
CKAN__CORS__ORIGIN_WHITELIST=""
|
||
# Enables or disable collaborators in individual datasets (https://docs.ckan.org/en/2.9/maintaining/authorization.html#dataset-collaborators)
|
||
CKAN__AUTH__ALLOW_DATASET_COLLABORATORS=False
|
||
CKAN__AUTH__ALLOW_ADMIN_COLLABORATORS=False
|
||
# Default number of facets shown in search results. Default 10.
|
||
SEARCH__FACETS__DEFAULT=4
|
||
# Enable or disable the DataStore SQL search backend. Default is False.
|
||
CKAN__DATASTORE__SQLSEARCH__ENABLED=True
|
||
|
||
## Resource Proxy settings
|
||
### Preview size limit, default: 1MB
|
||
CKAN__RESOURCE_PROXY__MAX_FILE_SIZE=50048576
|
||
## Size of chunks to read/write__
|
||
CKAN__RESOURCE_PROXY__CHUNK_SIZE=4096
|
||
## Default timeout for fetching proxied items
|
||
CKAN__RESOURCE_PROXY__TIMEOUT=10
|
||
CKAN__VIEWS__DEFAULT_VIEWS="image_view video_view audio_view webpage_view datatables_view text_view wmts_view geojson_view geo_view shp_view pdf_view"
|
||
|
||
# Localization
|
||
CKAN__LOCALE_DEFAULT="en"
|
||
CKAN__LOCALE_ORDER="en es pt_BR ja it cs_CZ ca fr el sv sr sr@latin no sk fi ru de pl nl bg ko_KR hu sa sl lv"
|
||
CKAN__LOCALES_OFFERED="en es pt_BR ja it cs_CZ ca fr el sv sr sr@latin no sk fi ru de pl nl bg ko_KR hu sa sl lv"
|
||
|
||
# Extensions
|
||
CKAN__PLUGINS="activity stats image_view video_view audio_view webpage_view text_view datatables_view resourcedictionary datastore xloader spatial_metadata spatial_query spatial_harvest_metadata_api csw_harvester waf_harvester doc_harvester resource_proxy geo_view geojson_view wmts_view shp_view dcat dcat_rdf_harvester dcat_json_harvester dcat_json_interface schemingdcat schemingdcat_datasets schemingdcat_groups schemingdcat_organizations schemingdcat_ckan_harvester schemingdcat_xls_harvester harvest pdf_view pages fluent envvars"
|
||
|
||
# ckanext-harvest
|
||
CKAN__HARVEST__MQ__TYPE=redis
|
||
CKAN__HARVEST__MQ__HOSTNAME=redis
|
||
CKAN__HARVEST__MQ__PORT=${REDIS_PORT}
|
||
CKAN__HARVEST__MQ__REDIS_DB=${REDIS_CKAN_DATABASE}
|
||
# Clean-up mechanism for the harvest log table. The default is 30 days.
|
||
CKAN__HARVEST__LOG_TIMEFRAME=40
|
||
|
||
# ckanext-xloader
|
||
CKANEXT__XLOADER__JOBS__DB_URI=postgresql://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/${CKAN_DB}
|
||
|
||
# ckanext-dcat
|
||
CKANEXT__DCAT__BASE_URI=${CKAN_URL}
|
||
# Default profile(s). Instead of this envvar, it's possible to specify all the profile(s) availables to be used for serialization using the profiles parameter: http://localhost:5000/catalog.xml?profiles=eu_dcat_ap_2,es_dcat
|
||
CKANEXT__DCAT__RDF_PROFILES='eu_dcat_ap_2 eu_dcat_ap_scheming'
|
||
# The custom endpoint **must** start with a forward slash (`/`) and contain the `{_format}` placeholder. The endpoint is added to the CKAN_SITE_URL and CKAN__ROOT_PATH, example: http://localhost:5000/catalog/catalog.rdf
|
||
CKANEXT__DCAT__DEFAULT_CATALOG_ENDPOINT='/catalog.{_format}'
|
||
|
||
# ckanext-spatial (Solr Backend - solr9-spatial: https://docs.ckan.org/projects/ckanext-spatial/en/latest/spatial-search.html#choosing-a-backend-for-the-spatial-search)
|
||
CKANEXT__SPATIAL__SEARCH_BACKEND=solr-spatial-field
|
||
CKAN__SPATIAL__SRID=3857
|
||
CKANEXT__SPATIAL__COMMON_MAP__TYPE=custom
|
||
CKANEXT__SPATIAL__COMMON_MAP__CUSTOM__URL=http://a.tile.openstreetmap.org/{z}/{x}/{y}.png
|
||
CKANEXT__SPATIAL__COMMON_MAP__ATTRIBUTION='Map tiles by <a href="http://openstreetmap.org">OpenStreetMap</a> (<a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>)'
|
||
|
||
# ckanext-geoview
|
||
CKANEXT__GEOVIEW__GEOJSON__MAX_FILE_SIZE=100000000
|
||
CKANEXT__GEOVIEW__OL_VIEWER__FORMATS="wms wfs geojson gml kml"
|
||
CKANEXT__GEOVIEW__SHP_VIEWER__SRID=3857
|
||
CKANEXT__GEOVIEW__SHP_VIEWER__ENCODING=UTF-8
|
||
|
||
# ckanext-schemingdcat
|
||
## CSW Endpoint for spatial metadata
|
||
CKANEXT__SCHEMINGDCAT_GEOMETADATA_BASE_URI=${PYCSW_URL}
|
||
## Scheming: setup_scheming.sh
|
||
CKANEXT__SCHEMINGDCAT_DATASET_SCHEMA="ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_full.yaml"
|
||
CKANEXT__SCHEMINGDCAT_GROUP_SCHEMAS="ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_group.json"
|
||
CKANEXT__SCHEMINGDCAT_ORGANIZATION_SCHEMAS="ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_org.json"
|
||
CKANEXT__SCHEMINGDCAT_PRESETS="ckanext.schemingdcat:schemas/default_presets.json ckanext.fluent:presets.json"
|
||
## Facets: setup_scheming.sh
|
||
CKANEXT__SCHEMINGDCAT_FACET_LIST="dataset_scope theme groups theme_eu language dcat_type groups publisher_name publisher_type spatial_uri owner_org res_format frequency tags tag_uri conforms_to"
|
||
CKANEXT__SCHEMINGDCAT_ORGANIZATION_CUSTOM_FACETS=True
|
||
CKANEXT__SCHEMINGDCAT_GROUP_CUSTOM_FACETS=True
|
||
CKANEXT__SCHEMINGDCAT_DEFAULT_PACKAGE_ITEM_ICON="theme"
|
||
CKANEXT__SCHEMINGDCAT_DEFAULT_PACKAGE_ITEM_SHOW_SPATIAL=True
|
||
CKANEXT__SCHEMINGDCAT_SHOW_METADATA_TEMPLATES_TOOLBAR=False
|
||
CKANEXT__METADATA_TEMPLATES_SEARCH_IDENTIFIER="schemingdcat_xls-template"
|
||
CKANEXT__SCHEMINGDCAT_ENDPOINTS_YAML="endpoints.yaml"
|
||
CKANEXT__SCHEMINGDCAT__SOCIAL_GITHUB="https://github.com/mjanez/ckanext-schemingdcat"
|
||
CKANEXT__SCHEMINGDCAT__SOCIAL_X="https://x.com/ckanproject"
|
||
CKANEXT__SCHEMINGDCAT__SOCIAL_LINKEDIN="https://www.linkedin.com/company/ckanproject"
|
||
|
||
# ckanext-pages
|
||
CKANEXT__PAGES__ALOW_HTML=False
|
||
CKANEXT__PAGES__ORGANIZATION=True
|
||
CKANEXT__PAGES__GROUP=True
|
||
CKANEXT__PAGES__ABOUT_MENU=False
|
||
CKANEXT__PAGES__GROUP_MENU=True
|
||
CKANEXT__PAGES__ORGANIZATION_MENU=True
|
||
|
||
# ckan-pycsw
|
||
CSW_IDENTIFICATION_TITLE="Sample Geospatial Catalogue"
|
||
CSW_IDENTIFICATION_ABSTRACT="OGC CSW server powered by pycsw"
|
||
CSW_PROVIDER_NAME="ckan-docker development team"
|
||
CSW_PROVIDER_URL="https://github.com/mjanez/ckan-docker"
|
||
CSW_CONTACT_NAME="ckan-docker development team"
|
||
CSW_CONTACT_POSITION="Site Administrator"
|
||
CSW_CONTACT_ADDRESS="ckan-docker development team"
|
||
CSW_CONTACT_CITY="Madrid"
|
||
CSW_CONTACT_STATE_OR_PROVINCE="Madrid"
|
||
CSW_CONTACT_POSTAL_CODE="28001"
|
||
CSW_CONTACT_COUNTRY="Spain"
|
||
CSW_CONTACT_EMAIL=${CKAN_SYSADMIN_EMAIL}
|
||
CSW_CONTACT_URL=${CKAN_URL}
|
||
## Date of the last update of the metadata. ISO 8601 format): YYYY-MM-DD
|
||
CSW_INSPIRE_DATE="2024-01-01"
|
||
## Keywords separated by commas based on the GEMET Thesaurus keywordValue: https://inspire.ec.europa.eu/schemas/common/1.0/enums/enum_eng.xsd
|
||
CSW_INSPIRE_GEMET_KEYWORDS="Utility and governmental services"
|
||
# The level of INSPIRE conformance for spatial data sets and services (conformant, notConformant, notEvaluated)
|
||
CSW_INSPIRE_CONFORMITY="notEvaluated"
|
||
CSW_INSPIRE_CONTACT_NAME=${CSW_CONTACT_NAME}
|
||
CSW_INSPIRE_CONTACT_EMAIL=${CKAN_SYSADMIN_EMAIL}
|
||
# Temporal extent of the service (in ISO 8601 format). Either a single date (i.e. YYYY-MM-DD), or an extent (i.e. YYYY-MM-DD/YYYY-MM-DD)
|
||
CSW_INSPIRE_TEMP_EXTENT="2024-01-01"
|