more changes
This commit is contained in:
parent
da98af0ddb
commit
06c14e985f
34
README.txt
34
README.txt
|
@ -1,27 +1,23 @@
|
||||||
### Please note that this re-purposed CKAN Docker repo is a WORK IN PROGRESS ###
|
### Please note that this re-purposed CKAN Docker repo is a WORK IN PROGRESS ###
|
||||||
### It should not be used to install CKAN via Docker until this page is updated ###
|
### It should not be used to install CKAN via Docker until this page is updated ###
|
||||||
|
|
||||||
- Maybe use build/up time variables loaded via the .env file, runtime variables loaded via a .ckan-env file - both
|
(From Adria)
|
||||||
located at the root directory
|
Be limited in scope, and act as a base that users can extend to their own needs
|
||||||
- Look at using ghcr.io (GitHub Packages) to store Docker Images rather than DockerHub
|
Be opinionated, and provide one way to do things
|
||||||
- all username/passwords as environment variables rather than hardcoded
|
Be automatically tested
|
||||||
- make sure the "development mode" path is taken cared of with any change
|
|
||||||
- Create an admin user during the container deployment
|
|
||||||
- should there be a datapusher image pre-built like ckan? maybe an xloader image?
|
|
||||||
|
|
||||||
|
have an nginx container included?
|
||||||
### Difference between ckan-base and ckan-dev ###
|
|
||||||
|
|
||||||
ckan-base
|
|
||||||
docker-compose up -d --build
|
|
||||||
docker-compose build
|
|
||||||
docker-compose up
|
|
||||||
|
|
||||||
ckan-dev
|
|
||||||
docker-compose -f docker-compose.dev.yml up -d --build
|
|
||||||
docker-compose -f docker-compose.dev.yml build
|
|
||||||
docker-compose -f docker-compose.dev.yml up
|
|
||||||
|
|
||||||
ARG should be used for sensitive variables so as to keep the values of these variables
|
ARG should be used for sensitive variables so as to keep the values of these variables
|
||||||
out of the build and hence will not show with an "inspect image" command
|
out of the build and hence will not show with an "inspect image" command
|
||||||
|
|
||||||
|
Do we pre-build a CKAN image and use that (and extend) as the base image OR
|
||||||
|
just build it from scratch and while saving to storage what we need to
|
||||||
|
|
||||||
|
Use a bind mount for the config file (ckan.ini)
|
||||||
|
docker cp ckan:/srv/app/ckan.ini ./ckan.ini
|
||||||
|
docker run -p <port1>:<port2> --mount type=bind,source="$(pwd)"/ckan.ini,target=/srv/app/ckan.ini -d <ckan_base_image>
|
||||||
|
|
||||||
|
Maybe include a script to replace docker-compose if required
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#
|
||||||
|
# Create the network first
|
||||||
|
#
|
||||||
|
docker network create ckan-net
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Redis - Run only (image already built)
|
||||||
|
#
|
||||||
|
REDIS_CONTAINERNAME=redis
|
||||||
|
REDIS_HOSTNAME=redis
|
||||||
|
|
||||||
|
docker run -d -it --net ckan-net --name ${REDIS_CONTAINERNAME} --hostname ${REDIS_HOSTNAME} redis:latest
|
||||||
|
|
||||||
|
#
|
||||||
|
# Solr - Run/Build
|
||||||
|
#
|
||||||
|
SOLR_CONTAINERNAME=solr
|
||||||
|
SOLR_HOSTNAME=solr
|
||||||
|
SOLR_IMAGENAME=solr
|
||||||
|
|
||||||
|
cd solr
|
||||||
|
docker image build -t ${SOLR_IMAGENAME} .
|
||||||
|
docker run -d -it --net ckan-net --name ${SOLR_CONTAINERNAME} --hostname ${SOLR_HOSTNAME} \
|
||||||
|
-v solr_core:/opt/solr/server/solr ${SOLR_IMAGENAME}
|
||||||
|
cd -
|
||||||
|
|
||||||
|
#
|
||||||
|
# PostgreSQL (DB) - Run/Build
|
||||||
|
#
|
||||||
|
DB_CONTAINERNAME=db
|
||||||
|
DB_HOSTNAME=db
|
||||||
|
DB_IMAGENAME=db
|
||||||
|
|
||||||
|
cd postgresql
|
||||||
|
docker image build -t ${DB_IMAGENAME} .
|
||||||
|
docker run -d -it --net ckan-net --name ${DB_CONTAINERNAME} --hostname ${DB_HOSTNAME} --env-file=../environ \
|
||||||
|
-v pg_data:/var/lib/postgresql/data ${DB_IMAGENAME}
|
||||||
|
cd -
|
||||||
|
|
||||||
|
#
|
||||||
|
# CKAN - Run/Build
|
||||||
|
#
|
||||||
|
CKAN_CONTAINERNAME=ckan
|
||||||
|
CKAN_HOSTNAME=ckan
|
||||||
|
CKAN_IMAGENAME=ckan
|
||||||
|
|
||||||
|
cd ckan
|
||||||
|
docker image build -t ${CKAN_IMAGENAME} .
|
||||||
|
docker run -d -it --net ckan-net --name ${CKAN_CONTAINERNAME} --hostname ${CKAN_HOSTNAME} --env-file=../environ \
|
||||||
|
-v ckan_storage:/var/lib/ckan ${CKAN_IMAGENAME}
|
||||||
|
cd -
|
||||||
|
|
||||||
|
#
|
||||||
|
# Nginx - Run/Build
|
||||||
|
#
|
||||||
|
NGINX_CONTAINERNAME=nginx
|
||||||
|
NGINX_HOSTNAME=nginx
|
||||||
|
NGINX_IMAGENAME=nginx
|
||||||
|
|
||||||
|
cd nginx
|
||||||
|
docker image build -t ${NGINX_IMAGENAME} .
|
||||||
|
docker run -d -it --net ckan-net --name ${NGINX_CONTAINERNAME} --hostname ${NGINX_HOSTNAME} -p 0.0.0.0:80:80 ${NGINX_IMAGENAME}
|
||||||
|
cd -
|
||||||
|
|
||||||
|
#
|
||||||
|
# PostgreSQL client
|
||||||
|
#
|
||||||
|
docker run -d -it --net ckan-net --name postgres-client --hostname postgres-client -e POSTGRES_PASSWORD=ckan -p 5432:5432 postgres
|
Loading…
Reference in New Issue