From 6e862868aef5e2fdee637450b0e5f56773f502d6 Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 26 Sep 2023 10:29:20 +0200 Subject: [PATCH 1/4] Update gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 40a8b0d5..802bb06c 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,5 @@ src/* # environment .env -.env.* \ No newline at end of file +.env.* +!.env.example \ No newline at end of file From 39611bec41b02052a4ba7633d3ad1c9a403bda16 Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 26 Sep 2023 10:34:46 +0200 Subject: [PATCH 2/4] Fix host_ports/ports in Apache/NGINX Dockerfiles --- apache/Dockerfile | 8 ++++---- nginx/Dockerfile | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apache/Dockerfile b/apache/Dockerfile index bf8bf110..6c81cce3 100644 --- a/apache/Dockerfile +++ b/apache/Dockerfile @@ -1,7 +1,7 @@ FROM httpd:2.4-alpine -ENV CKAN_PORT_HOST=5000 -ENV PYCSW_PORT_HOST=8000 +ENV CKAN_PORT=5000 +ENV PYCSW_PORT=8000 ENV PYCSW_CONTAINER_NAME=pycsw ENV CKAN_CONTAINER_NAME=ckan ENV APACHE_PORT=80 @@ -12,8 +12,8 @@ ENV PROXY_SERVER_NAME=localhost ENV PROXY_CKAN_LOCATION=/catalog ENV PROXY_PYCSW_LOCATION=/csw -ENV PROXY_PYCSW_PROXY_PASS=http://${PYCSW_CONTAINER_NAME}:${PYCSW_PORT_HOST} -ENV PROXY_CKAN_PROXY_PASS=http://${CKAN_CONTAINER_NAME}:${CKAN_PORT_HOST} +ENV PROXY_PYCSW_PROXY_PASS=http://${PYCSW_CONTAINER_NAME}:${PYCSW_PORT} +ENV PROXY_CKAN_PROXY_PASS=http://${CKAN_CONTAINER_NAME}:${CKAN_PORT} RUN mkdir -p ${APACHE_LOG_DIR} diff --git a/nginx/Dockerfile b/nginx/Dockerfile index 8bad6b0b..90e9a182 100644 --- a/nginx/Dockerfile +++ b/nginx/Dockerfile @@ -1,14 +1,14 @@ FROM nginx:stable-alpine -ENV CKAN_PORT_HOST=5000 -ENV PYCSW_PORT_HOST=8000 +ENV CKAN_PORT=5000 +ENV PYCSW_PORT=8000 ENV PYCSW_CONTAINER_NAME=pycsw ENV CKAN_CONTAINER_NAME=ckan ENV PROXY_SERVER_NAME=localhost ENV PROXY_CKAN_LOCATION=/catalog ENV PROXY_PYCSW_LOCATION=/csw -ENV PROXY_PYCSW_PROXY_PASS=http://${PYCSW_CONTAINER_NAME}:${PYCSW_PORT_HOST} -ENV PROXY_CKAN_PROXY_PASS=http://${CKAN_CONTAINER_NAME}:${CKAN_PORT_HOST} +ENV PROXY_PYCSW_PROXY_PASS=http://${PYCSW_CONTAINER_NAME}:${PYCSW_PORT} +ENV PROXY_CKAN_PROXY_PASS=http://${CKAN_CONTAINER_NAME}:${CKAN_PORT} ENV NGINX_PORT=80 ENV NGINX_LOG_DIR=/var/log/nginx From 66e231b343a72ecf0074323f307ebded20d9d3b7 Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Wed, 27 Sep 2023 16:38:37 +0200 Subject: [PATCH 3/4] Add docker-manual action and logo to README --- .github/workflows/docker-manual.yml | 70 ++++++++++++++++++++++++++++ README.md | 1 + doc/img/ckan-docker-logo.png | Bin 0 -> 41934 bytes 3 files changed, 71 insertions(+) create mode 100644 .github/workflows/docker-manual.yml create mode 100644 doc/img/ckan-docker-logo.png diff --git a/.github/workflows/docker-manual.yml b/.github/workflows/docker-manual.yml new file mode 100644 index 00000000..24ea7240 --- /dev/null +++ b/.github/workflows/docker-manual.yml @@ -0,0 +1,70 @@ +name: Build and release image manually + +on: workflow_dispatch + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + TAG: ghcr.io/${{ github.repository }}:${{ github.ref_name }} + CONTEXT: . + BRANCH: ${{ github.ref_name }} + DOCKERFILE_PATH: /ckan + DOCKERFILE: Dockerfile + +jobs: + docker: + name: manual/build-docker-push:${{ github.ref_name }} + runs-on: ubuntu-latest + + steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Check out code + uses: actions/checkout@v4 + + - name: Login to registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + labels: | + org.opencontainers.image.documentation=https://github.com/${{ github.repository }}/blob/${{ env.BRANCH }}/README.md + org.opencontainers.image.version=${{ env.BRANCH }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + push: true + tags: ${{ env.TAG }} + labels: ${{ steps.meta.outputs.labels }} + context: ${{ env.CONTEXT }} + file: ${{ env.CONTEXT }}${{ env.DOCKERFILE_PATH }}/${{ env.DOCKERFILE }} + + - name: Linting Dockerfile with hadolint in GH Actions + uses: hadolint/hadolint-action@v3.1.0 + with: + dockerfile: ${{ env.CONTEXT }}${{ env.DOCKERFILE_PATH }}/${{ env.DOCKERFILE }} + + - name: Run Trivy container image vulnerability scanner + uses: aquasecurity/trivy-action@0.12.0 + with: + image-ref: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.BRANCH }} + format: sarif + output: trivy-results.sarif + + - name: Upload Trivy scan results to GitHub Security tab + uses: github/codeql-action/upload-sarif@v2 + if: always() + with: + sarif_file: trivy-results.sarif diff --git a/README.md b/README.md index fbe6edcc..110e3783 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +
ckan-spatial

CKAN Docker Compose - Open Data & GIS

ckan-spatial diff --git a/doc/img/ckan-docker-logo.png b/doc/img/ckan-docker-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4e84b1dbfdf80f6219e2fc1ca14690d0e97f0bb0 GIT binary patch literal 41934 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 Date: Wed, 27 Sep 2023 16:43:10 +0200 Subject: [PATCH 4/4] Fix image --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 110e3783..1ab6e7ef 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,12 @@ -

ckan-spatial
+

+ + + +

CKAN Docker Compose - Open Data & GIS

ckan-spatial -

OverviewBranch roadmap