diff --git a/.env b/.env index a3d9300..211d393 100644 --- a/.env +++ b/.env @@ -1,4 +1,10 @@ -# CKAN databases +# CKAN +CKAN_VERSION=2.9.3 +CKAN_SITE_URL=http://localhost:5000 +CKAN_SITE_ID=default +CKAN_PORT=5000 + +# Database POSTGRES_USER=ckan POSTGRES_PASSWORD=ckan DATASTORE_READONLY_USER=datastore_ro @@ -8,39 +14,21 @@ CKAN_SQLALCHEMY_URL=postgresql://ckan:ckan@db/ckan CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@db/datastore CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore -# Test database connections -TEST_CKAN_SQLALCHEMY_URL=postgres://ckan:ckan@db/ckan_test -TEST_CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@db/datastore_test -TEST_CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore_test - -# CKAN core -CKAN_SITE_ID=default -CKAN_SITE_URL=http://ckan:5000 -CKAN_PORT=5000 -CKAN_SYSADMIN_NAME=ckan_admin -CKAN_SYSADMIN_PASSWORD=test1234 -CKAN_SYSADMIN_EMAIL=your_email@example.com -CKAN_STORAGE_PATH=/var/lib/ckan -CKAN_SMTP_SERVER=smtp.corporateict.domain:25 -CKAN_SMTP_STARTTLS=True -CKAN_SMTP_USER=user -CKAN_SMTP_PASSWORD=pass -CKAN_SMTP_MAIL_FROM=ckan@localhost -TZ=UTC - -# Other services +# solr +SOLR_VERSION=6.6.6 CKAN_SOLR_URL=http://solr:8983/solr/ckan -CKAN_REDIS_URL=redis://redis:6379/1 -CKAN_DATAPUSHER_URL=http://datapusher:8801 + +# Datapusher +DATAPUSHER_VERSION=0.0.17 +CKAN_DATAPUSHER_URL=http://datapusher:8800 CKAN__DATAPUSHER__CALLBACK_URL_BASE=http://ckan:5000 +DATAPUSHER_REWRITE_RESOURCES=True +DATAPUSHER_REWRITE_URL=http://ckan:5000 -# test connections -TEST_CKAN_SOLR_URL=http://solr:8983/solr/ckan -TEST_CKAN_REDIS_URL=redis://redis:6379/1 +# Redis +REDIS_VERSION=6.0.7 +CKAN_REDIS_URL=redis://redis:6379/1 -# Extensions -CKAN__PLUGINS=envvars image_view text_view recline_view datastore datapusher -CKAN__HARVEST__MQ__TYPE=redis -CKAN__HARVEST__MQ__HOSTNAME=redis -CKAN__HARVEST__MQ__PORT=6379 -CKAN__HARVEST__MQ__REDIS_DB=1 \ No newline at end of file +CKAN_SYSADMIN_NAME=admin +CKAN_SYSADMIN_PASSWORD=test1234 +CKAN_SYSADMIN_EMAIL=admin@ckan.org diff --git a/README b/README index 703c891..9c85779 100755 --- a/README +++ b/README @@ -1,10 +1,12 @@ -Build the images from this directory using: +Build ckan-base image (2.9) +cd /path/to/ckan-docker/ckan/ckan-base +docker build -t ckan/ckan-base:testing-only.2.9 -f 2.9/Dockerfile . + +Login to Dockerhub +docker login --username=kowhai +(will then ask for a password) - cd $REPO_HOME - cd images/ckan-base - docker build -t ckan/ckan-base:testing-only-2.9 -f 2.9/Dockerfile . - docker push ckan/ckan-base:testing-only-2.9 - docker build -t ckan/ckan-base:testing-only-2.8 -f 2.8/Dockerfile . - docker push ckan/ckan-base:testing-only-2.8 - docker build -t ckan/ckan-base:testing-only-2.7 -f 2.7/Dockerfile . - docker push ckan/ckan-base:testing-only-2.7 +Push image to (ckan) Dockerhub +docker push ckan/ckan-base:testing-only.2.9 + +Do the same with 2.8 and 2.7 diff --git a/notes.txt b/notes.txt new file mode 100644 index 0000000..dccc9b1 --- /dev/null +++ b/notes.txt @@ -0,0 +1,69 @@ + +Environment variables are in the .env file and loaded into the docker-compose.yml file at runtime. +The Dockerfile will need an ARG line also + +List all env variables and decide where they go +.env +env-ckan +ARG +ENV + +NB: .env variables can be referenced in the docker-compose.yml file (environment: part of the service) + The docker-compose.yml file can pass these variables to the Dockerfile as ARG parameters +--------------------------- from OKFN --------------------------- +# DB image settings +POSTGRES_PASSWORD=ckan +DATASTORE_READONLY_PASSWORD=datastore + +# Basic +CKAN_SITE_ID=default +CKAN_SITE_URL=http://ckan:5000 +CKAN_PORT=5000 +CKAN_SYSADMIN_NAME=ckan_admin +CKAN_SYSADMIN_PASSWORD=test1234 +CKAN_SYSADMIN_EMAIL=your_email@example.com +TZ=UTC + +# Database connections (TODO: avoid duplication) +CKAN_SQLALCHEMY_URL=postgresql://ckan:ckan@db/ckan +CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@db/datastore +CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore + +# Test database connections +TEST_CKAN_SQLALCHEMY_URL=postgres://ckan:ckan@db/ckan_test +TEST_CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@db/datastore_test +TEST_CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore_test + +# Other services connections +CKAN_SOLR_URL=http://solr:8983/solr/ckan +CKAN_REDIS_URL=redis://redis:6379/1 +CKAN_DATAPUSHER_URL=http://datapusher:8800 +CKAN__DATAPUSHER__CALLBACK_URL_BASE=http://ckan:5000 + +TEST_CKAN_SOLR_URL=http://solr:8983/solr/ckan +TEST_CKAN_REDIS_URL=redis://redis:6379/1 + +# Core settings +CKAN__STORAGE_PATH=/var/lib/ckan + +CKAN_SMTP_SERVER=smtp.corporateict.domain:25 +CKAN_SMTP_STARTTLS=True +CKAN_SMTP_USER=user +CKAN_SMTP_PASSWORD=pass +CKAN_SMTP_MAIL_FROM=ckan@localhost + +# Extensions + +CKAN__PLUGINS=envvars image_view text_view recline_view datastore datapusher +CKAN__HARVEST__MQ__TYPE=redis +CKAN__HARVEST__MQ__HOSTNAME=redis +CKAN__HARVEST__MQ__PORT=6379 +CKAN__HARVEST__MQ__REDIS_DB=1 + + +docker-compose.yml +DATASTORE_READONLY_PASSWORD=${DATASTORE_READONLY_PASSWORD} +POSTGRES_PASSWORD=${POSTGRES_PASSWORD} +DATASTORE_READONLY_PASSWORD=${DATASTORE_READONLY_PASSWORD} +POSTGRES_PASSWORD=${POSTGRES_PASSWORD} +PGDATA=/var/lib/postgresql/data/db \ No newline at end of file diff --git a/todo.txt b/todo.txt new file mode 100644 index 0000000..d5d6960 --- /dev/null +++ b/todo.txt @@ -0,0 +1,12 @@ +Get the NGINX container running +Add the redis container +Add the solr container +Add the db container +Get a datapusher container working with supervisord +Test the datapusher container works +Take out ARG's from docker-compose.yml is not needed +Test with new versions of CKAN (ie: if problems with Python 3.9) +Create (and push) the datapusher image +Create the ckan container +Create the ckanext container +