Create a quick deploy docker compose file
- Remove ckan-spatial from default docker compose file - Create a docker-compose.ghcr.yml to use the ckan-spatial image from container registry - Update the README to include this information - Update .env.example to info about CKAN_VERSION ennvar
This commit is contained in:
parent
8653e29431
commit
ae08547fa6
|
@ -66,6 +66,7 @@ TEST_CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@db/datastore_test
|
||||||
TEST_CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore_test
|
TEST_CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore_test
|
||||||
|
|
||||||
# CKAN core
|
# CKAN core
|
||||||
|
## If use docker-compose.ghcr.yml only "*.*.*" versions available in: https://github.com/mjanez/ckan-docker/pkgs/container/ckan-spatial
|
||||||
CKAN_VERSION=2.9.8
|
CKAN_VERSION=2.9.8
|
||||||
CKAN_SITE_ID=default
|
CKAN_SITE_ID=default
|
||||||
# CKAN_SITE_URL = http:/ or https:/ + APACHE_SERVER_NAME. Optionally the APACHE_HOST_PORT if different from 80
|
# CKAN_SITE_URL = http:/ or https:/ + APACHE_SERVER_NAME. Optionally the APACHE_HOST_PORT if different from 80
|
||||||
|
|
29
README.md
29
README.md
|
@ -198,30 +198,22 @@ Use this if you are a maintainer and will not be making code changes to CKAN or
|
||||||
```bash
|
```bash
|
||||||
docker compose build
|
docker compose build
|
||||||
```
|
```
|
||||||
|
|
||||||
>**Note**<br>
|
>**Note**<br>
|
||||||
> NGINX CKAN without ckan-pycsw and Apache:
|
> You can use a [deploy in 5 minutes](#quick-mode) if you just want to test the package.
|
||||||
>```bash
|
|
||||||
>docker compose -f docker-compose.nginx.yml build
|
|
||||||
>```
|
|
||||||
|
|
||||||
|
|
||||||
4. Start the containers:
|
4. Start the containers:
|
||||||
```bash
|
```bash
|
||||||
docker compose up
|
docker compose up
|
||||||
```
|
```
|
||||||
|
|
||||||
>**Note**<br>
|
|
||||||
> NGINX CKAN without ckan-pycsw and Apache:
|
|
||||||
>```bash
|
|
||||||
>docker compose -f docker-compose.nginx.yml up
|
|
||||||
>```
|
|
||||||
|
|
||||||
This will start up the containers in the current window. By default the containers will log direct to this window with each container
|
This will start up the containers in the current window. By default the containers will log direct to this window with each container
|
||||||
using a different colour. You could also use the -d "detach mode" option ie: `docker compose up -d` if you wished to use the current
|
using a different colour. You could also use the -d "detach mode" option ie: `docker compose up -d` if you wished to use the current
|
||||||
window for something else.
|
window for something else.
|
||||||
|
|
||||||
>**Note**<br>
|
>**Note**<br>
|
||||||
> Or `docker compose up --build` to build & up the containers.
|
> * Or `docker compose up --build` to build & up the containers.
|
||||||
|
> * Or `docker compose -f docker-compose.nginx.yml up -d --build` to use the NGINX version.
|
||||||
|
|
||||||
At the end of the container start sequence there should be 6 containers running (or 5 if use NGINX Docker Compose file)
|
At the end of the container start sequence there should be 6 containers running (or 5 if use NGINX Docker Compose file)
|
||||||
|
|
||||||
|
@ -234,7 +226,7 @@ After this step, CKAN should be running at {`APACHE_SERVER_NAME`}{`APACHE_CKAN_L
|
||||||
|1b8d9789c29a|redis:7-alpine |docker-entrypoint.s…|6 minutes ago |Up 4 minutes (healthy)|6379/tcp |redis | |
|
|1b8d9789c29a|redis:7-alpine |docker-entrypoint.s…|6 minutes ago |Up 4 minutes (healthy)|6379/tcp |redis | |
|
||||||
|7f162741254d|ckan/ckan-solr:2.9-solr8-spatial |docker-entrypoint.s…|6 minutes ago |Up 4 minutes (healthy)|8983/tcp |solr | |
|
|7f162741254d|ckan/ckan-solr:2.9-solr8-spatial |docker-entrypoint.s…|6 minutes ago |Up 4 minutes (healthy)|8983/tcp |solr | |
|
||||||
|2cdd25cea0de|ckan-docker-db |docker-entrypoint.s…|6 minutes ago |Up 4 minutes (healthy)|5432/tcp |db | |
|
|2cdd25cea0de|ckan-docker-db |docker-entrypoint.s…|6 minutes ago |Up 4 minutes (healthy)|5432/tcp |db | |
|
||||||
|9cdj25dae6gr|ckan-docker-pycsw |docker-entrypoint.s…|6 minutes ago |Up 4 minutes (healthy)|8000/tcp |db | |
|
|9cdj25dae6gr|ckan-docker-pycsw |docker-entrypoint.s…|6 minutes ago |Up 4 minutes (healthy)|8000/tcp |pycsw | |
|
||||||
|
|
||||||
|
|
||||||
#### Configure a docker compose service to start on boot
|
#### Configure a docker compose service to start on boot
|
||||||
|
@ -293,6 +285,17 @@ To have Docker Compose run automatically when you reboot a machine, you can foll
|
||||||
sudo systemctl status ckan-docker-compose
|
sudo systemctl status ckan-docker-compose
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Quick mode
|
||||||
|
If you just want to test the package and see the general functionality of the platform, you can use the `ckan-spatial` image from the [Github container registry](https://github.com/mjanez/ckan-docker/pkgs/container/ckan-spatial):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp .env.example .env
|
||||||
|
# Edit the envvars in the .env as you like and start the containers.
|
||||||
|
docker compose -f docker-compose.ghcr.yml up -d --build
|
||||||
|
```
|
||||||
|
|
||||||
|
It will download the pre-built image and deploy all the containers. Remember to use your own domain by changing `localhost` in the `.env` file.
|
||||||
|
|
||||||
### Development mode
|
### Development mode
|
||||||
Use this mode if you are making code changes to CKAN and either creating new extensions or making code changes to existing extensions. This mode also uses the `.env` file for config options.
|
Use this mode if you are making code changes to CKAN and either creating new extensions or making code changes to existing extensions. This mode also uses the `.env` file for config options.
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,129 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
ckan_storage:
|
||||||
|
pg_data:
|
||||||
|
solr_data:
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
apache:
|
||||||
|
container_name: ${APACHE_CONTAINER_NAME}
|
||||||
|
build:
|
||||||
|
context: apache/
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "100m"
|
||||||
|
max-file: "10"
|
||||||
|
depends_on:
|
||||||
|
ckan:
|
||||||
|
condition: service_healthy
|
||||||
|
ports:
|
||||||
|
- "0.0.0.0:${APACHE_PORT_HOST}:${APACHE_PORT}"
|
||||||
|
restart: on-failure:3
|
||||||
|
|
||||||
|
ckan:
|
||||||
|
container_name: ${CKAN_CONTAINER_NAME}
|
||||||
|
image: ghcr.io/mjanez/ckan-spatial:ckan-${CKAN_VERSION}
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "100m"
|
||||||
|
max-file: "10"
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
solr:
|
||||||
|
condition: service_healthy
|
||||||
|
redis:
|
||||||
|
condition: service_healthy
|
||||||
|
ports:
|
||||||
|
- "0.0.0.0:${CKAN_PORT_HOST}:${CKAN_PORT}"
|
||||||
|
volumes:
|
||||||
|
- ckan_storage:/var/lib/ckan
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${CKAN_PORT}"]
|
||||||
|
|
||||||
|
pycsw:
|
||||||
|
container_name: ${PYCSW_CONTAINER_NAME}
|
||||||
|
build:
|
||||||
|
context: ckan-pycsw/
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "100m"
|
||||||
|
max-file: "10"
|
||||||
|
depends_on:
|
||||||
|
ckan:
|
||||||
|
condition: service_healthy
|
||||||
|
ports:
|
||||||
|
- "0.0.0.0:${PYCSW_PORT_HOST}:${PYCSW_PORT}"
|
||||||
|
volumes:
|
||||||
|
- ./log:${APP_DIR}/log
|
||||||
|
- ./metadata:${APP_DIR}/metadata
|
||||||
|
restart: on-failure:3
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${PYCSW_PORT}"]
|
||||||
|
|
||||||
|
db:
|
||||||
|
container_name: ${POSTGRESQL_CONTAINER_NAME}
|
||||||
|
build:
|
||||||
|
context: postgresql/
|
||||||
|
args:
|
||||||
|
- DATASTORE_READONLY_PASSWORD=${DATASTORE_READONLY_PASSWORD}
|
||||||
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||||
|
environment:
|
||||||
|
- DATASTORE_READONLY_PASSWORD=${DATASTORE_READONLY_PASSWORD}
|
||||||
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||||
|
- PGDATA=/var/lib/postgresql/data/db
|
||||||
|
volumes:
|
||||||
|
- pg_data:/var/lib/postgresql/data
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "100m"
|
||||||
|
max-file: "10"
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "pg_isready", "-U", "ckan"]
|
||||||
|
|
||||||
|
solr:
|
||||||
|
container_name: ${SOLR_CONTAINER_NAME}
|
||||||
|
build:
|
||||||
|
context: solr/
|
||||||
|
dockerfile: Dockerfile.spatial
|
||||||
|
image: ckan/ckan-solr:${SOLR_IMAGE_VERSION}
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "100m"
|
||||||
|
max-file: "10"
|
||||||
|
volumes:
|
||||||
|
- solr_data:/var/solr
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${SOLR_PORT}/solr/"]
|
||||||
|
|
||||||
|
redis:
|
||||||
|
container_name: ${REDIS_CONTAINER_NAME}
|
||||||
|
image: redis:${REDIS_VERSION}
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "100m"
|
||||||
|
max-file: "10"
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "redis-cli", "-e", "QUIT"]
|
|
@ -32,7 +32,6 @@ services:
|
||||||
build:
|
build:
|
||||||
context: ckan/
|
context: ckan/
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
image: ghcr.io/mjanez/ckan-spatial:ckan-2.9.8
|
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
logging:
|
logging:
|
||||||
|
|
|
@ -31,7 +31,6 @@ services:
|
||||||
build:
|
build:
|
||||||
context: ckan/
|
context: ckan/
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
image: ghcr.io/mjanez/ckan-spatial:ckan-2.9.8
|
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
logging:
|
logging:
|
||||||
|
|
Loading…
Reference in New Issue