From 472f3b1a617be58e402026cc6b737d7145f097a0 Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Sun, 20 Jun 2021 12:29:36 +0200 Subject: [PATCH 01/10] try php8 --- Dockerfile | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8852e35..7a3808a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM thallian/php7-fpm:latest +FROM thallian/php8-fpm:latest ENV FPMUSER nginx ENV FPMGROUP nginx @@ -6,26 +6,26 @@ ENV FPMGROUP nginx ENV VERSION f65537cdc6f11e135fdc0fbfcaf05524f63ec667 RUN apk add --no-cache \ - libressl \ + openssl \ git \ nginx \ wget \ - php7 \ - php7-opcache \ - php7-pcntl \ - php7-gd \ - php7-sqlite3 \ - php7-json \ - php7-intl \ - php7-xml \ - php7-mbstring \ - php7-zip \ - php7-openssl \ - php7-phar \ - php7-pdo_sqlite \ - php7-ctype \ - php7-xmlwriter \ - php7-dom + php8 \ + php8-opcache \ + php8-pcntl \ + php8-gd \ + php8-sqlite3 \ + php8-json \ + php8-intl \ + php8-xml \ + php8-mbstring \ + php8-zip \ + php8-openssl \ + php8-phar \ + php8-pdo_sqlite \ + php8-ctype \ + php8-xmlwriter \ + php8-dom RUN mkdir -p /usr/share/webapps/cops RUN wget -qO- https://github.com/seblucas/cops/archive/$VERSION.tar.gz | tar xz -C /usr/share/webapps/cops --strip 1 From 6e7a19b094f79e894f3028302b137fbb59a959fa Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Sun, 20 Jun 2021 13:35:10 +0200 Subject: [PATCH 02/10] use new nginx config paths --- Dockerfile | 37 +++++++++++++------------- rootfs/etc/confd/conf.d/cops.conf.toml | 2 +- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7a3808a..182cadb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM thallian/php8-fpm:latest +FROM thallian/php7-fpm:latest ENV FPMUSER nginx ENV FPMGROUP nginx @@ -10,22 +10,22 @@ RUN apk add --no-cache \ git \ nginx \ wget \ - php8 \ - php8-opcache \ - php8-pcntl \ - php8-gd \ - php8-sqlite3 \ - php8-json \ - php8-intl \ - php8-xml \ - php8-mbstring \ - php8-zip \ - php8-openssl \ - php8-phar \ - php8-pdo_sqlite \ - php8-ctype \ - php8-xmlwriter \ - php8-dom + php7 \ + php7-opcache \ + php7-pcntl \ + php7-gd \ + php7-sqlite3 \ + php7-json \ + php7-intl \ + php7-xml \ + php7-mbstring \ + php7-zip \ + php7-openssl \ + php7-phar \ + php7-pdo_sqlite \ + php7-ctype \ + php7-xmlwriter \ + php7-dom RUN mkdir -p /usr/share/webapps/cops RUN wget -qO- https://github.com/seblucas/cops/archive/$VERSION.tar.gz | tar xz -C /usr/share/webapps/cops --strip 1 @@ -37,8 +37,7 @@ RUN php composer.phar install --no-dev --optimize-autoloader RUN chown -R nginx:nginx /usr/share/webapps/cops -RUN mkdir /run/nginx -RUN rm /etc/nginx/conf.d/default.conf +RUN rm /etc/nginx/http.d/default.conf ADD /rootfs / diff --git a/rootfs/etc/confd/conf.d/cops.conf.toml b/rootfs/etc/confd/conf.d/cops.conf.toml index 46dafa7..c337d7d 100644 --- a/rootfs/etc/confd/conf.d/cops.conf.toml +++ b/rootfs/etc/confd/conf.d/cops.conf.toml @@ -1,3 +1,3 @@ [template] src = "cops.conf.tmpl" -dest = "/etc/nginx/conf.d/cops.conf" +dest = "/etc/nginx/http.d/cops.conf" From 7e48eaf2118a96f13e9a9831d8f9c18530c06648 Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Sat, 21 Aug 2021 13:44:51 +0200 Subject: [PATCH 03/10] run on port 8080 --- README.md | 2 +- rootfs/etc/confd/templates/cops.conf.tmpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c6ea0ee..7d04447 100644 --- a/README.md +++ b/README.md @@ -13,4 +13,4 @@ Domain where the cops instance is reachable. Website title. # Ports -- 80 +- 8080 diff --git a/rootfs/etc/confd/templates/cops.conf.tmpl b/rootfs/etc/confd/templates/cops.conf.tmpl index 3cc3cd2..7f65555 100644 --- a/rootfs/etc/confd/templates/cops.conf.tmpl +++ b/rootfs/etc/confd/templates/cops.conf.tmpl @@ -6,7 +6,7 @@ upstream php { } server { - listen 80; + listen 8080; server_name {{getenv "DOMAIN"}}; From 03f36e38d9a25a866f973dc6cc0d852270d5b0bf Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Mon, 14 Feb 2022 12:34:42 +0100 Subject: [PATCH 04/10] use kaniko to build container --- .gitlab-ci.yml | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e9fee4c..afecd71 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,13 +1,18 @@ variables: - IMAGE_NAME: thallian/cops + CONTAINER_NAME: thallian/cops build: - stage: build - script: - - docker login -u $DOCKER_USER -p $DOCKER_PASSWORD $DOCKER_REGISTRY - - docker build -t $IMAGE_NAME:$CI_COMMIT_SHA . - - docker build -t $IMAGE_NAME:$CI_COMMIT_REF_NAME . - - docker build -t $IMAGE_NAME:latest . - - docker push $IMAGE_NAME:$CI_COMMIT_SHA - - docker push $IMAGE_NAME:$CI_COMMIT_REF_NAME - - docker push $IMAGE_NAME:latest + stage: build + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [""] + script: + - mkdir -p /kaniko/.docker + - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(printf "%s:%s" "$CI_REGISTRY_USER" "$CI_REGISTRY_PASSWORD" | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json + - >- + /kaniko/executor + --context "$CI_PROJECT_DIR" + --dockerfile "$CI_PROJECT_DIR/Dockerfile" + --destination "$CONTAINER_NAME:$CI_COMMIT_SHA" + --destination "$CONTAINER_NAME:$CI_COMMIT_REF_NAME" + --destination "$CONTAINER_NAME:latest" From 8714f106eea3c6d87f14e24c360d1d00de2e2ed1 Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Mon, 14 Feb 2022 12:36:22 +0100 Subject: [PATCH 05/10] use s6-rc format --- .editorconfig | 9 --------- rootfs/etc/s6-rc.d/nginx/dependencies | 2 ++ rootfs/etc/{services.d => s6-rc.d}/nginx/run | 2 +- rootfs/etc/s6-rc.d/nginx/type | 1 + rootfs/etc/s6-rc.d/user/contents.d/nginx | 0 5 files changed, 4 insertions(+), 10 deletions(-) delete mode 100644 .editorconfig create mode 100644 rootfs/etc/s6-rc.d/nginx/dependencies rename rootfs/etc/{services.d => s6-rc.d}/nginx/run (51%) create mode 100644 rootfs/etc/s6-rc.d/nginx/type create mode 100644 rootfs/etc/s6-rc.d/user/contents.d/nginx diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index d741e40..0000000 --- a/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -indent_style = space -indent_size = 4 diff --git a/rootfs/etc/s6-rc.d/nginx/dependencies b/rootfs/etc/s6-rc.d/nginx/dependencies new file mode 100644 index 0000000..9c314f3 --- /dev/null +++ b/rootfs/etc/s6-rc.d/nginx/dependencies @@ -0,0 +1,2 @@ +confd +nextcloud-config diff --git a/rootfs/etc/services.d/nginx/run b/rootfs/etc/s6-rc.d/nginx/run similarity index 51% rename from rootfs/etc/services.d/nginx/run rename to rootfs/etc/s6-rc.d/nginx/run index 807d20a..e33de41 100644 --- a/rootfs/etc/services.d/nginx/run +++ b/rootfs/etc/s6-rc.d/nginx/run @@ -1,3 +1,3 @@ -#!/usr/bin/with-contenv sh +#!/bin/sh exec nginx -g "daemon off;" diff --git a/rootfs/etc/s6-rc.d/nginx/type b/rootfs/etc/s6-rc.d/nginx/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/rootfs/etc/s6-rc.d/nginx/type @@ -0,0 +1 @@ +longrun diff --git a/rootfs/etc/s6-rc.d/user/contents.d/nginx b/rootfs/etc/s6-rc.d/user/contents.d/nginx new file mode 100644 index 0000000..e69de29 From ebced9b78fba0e52d3978c95625a98fd892fc63e Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Mon, 14 Feb 2022 13:43:30 +0100 Subject: [PATCH 06/10] remove nextcloud-config from nginx dependencies --- rootfs/etc/s6-rc.d/nginx/dependencies | 1 - 1 file changed, 1 deletion(-) diff --git a/rootfs/etc/s6-rc.d/nginx/dependencies b/rootfs/etc/s6-rc.d/nginx/dependencies index 9c314f3..7ba7514 100644 --- a/rootfs/etc/s6-rc.d/nginx/dependencies +++ b/rootfs/etc/s6-rc.d/nginx/dependencies @@ -1,2 +1 @@ confd -nextcloud-config From 266719f99b785efd9dc6ccb81c62d2a6e865e692 Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Mon, 14 Feb 2022 14:48:20 +0100 Subject: [PATCH 07/10] create s6-overlay dir --- rootfs/etc/{ => s6-overlay}/s6-rc.d/nginx/dependencies | 0 rootfs/etc/{ => s6-overlay}/s6-rc.d/nginx/run | 0 rootfs/etc/{ => s6-overlay}/s6-rc.d/nginx/type | 0 rootfs/etc/{ => s6-overlay}/s6-rc.d/user/contents.d/nginx | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename rootfs/etc/{ => s6-overlay}/s6-rc.d/nginx/dependencies (100%) rename rootfs/etc/{ => s6-overlay}/s6-rc.d/nginx/run (100%) rename rootfs/etc/{ => s6-overlay}/s6-rc.d/nginx/type (100%) rename rootfs/etc/{ => s6-overlay}/s6-rc.d/user/contents.d/nginx (100%) diff --git a/rootfs/etc/s6-rc.d/nginx/dependencies b/rootfs/etc/s6-overlay/s6-rc.d/nginx/dependencies similarity index 100% rename from rootfs/etc/s6-rc.d/nginx/dependencies rename to rootfs/etc/s6-overlay/s6-rc.d/nginx/dependencies diff --git a/rootfs/etc/s6-rc.d/nginx/run b/rootfs/etc/s6-overlay/s6-rc.d/nginx/run similarity index 100% rename from rootfs/etc/s6-rc.d/nginx/run rename to rootfs/etc/s6-overlay/s6-rc.d/nginx/run diff --git a/rootfs/etc/s6-rc.d/nginx/type b/rootfs/etc/s6-overlay/s6-rc.d/nginx/type similarity index 100% rename from rootfs/etc/s6-rc.d/nginx/type rename to rootfs/etc/s6-overlay/s6-rc.d/nginx/type diff --git a/rootfs/etc/s6-rc.d/user/contents.d/nginx b/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/nginx similarity index 100% rename from rootfs/etc/s6-rc.d/user/contents.d/nginx rename to rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/nginx From 1135782aed84b380f4d292c53505de27db7e0470 Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Thu, 14 Dec 2023 18:06:29 +0100 Subject: [PATCH 08/10] use cops fork --- .gitea/workflows/container.yaml | 12 +++++++ .gitlab-ci.yml | 18 ---------- Containerfile | 43 ++++++++++++++++++++++ Dockerfile | 44 ----------------------- README.md | 2 +- rootfs/etc/confd/templates/cops.conf.tmpl | 1 + 6 files changed, 57 insertions(+), 63 deletions(-) create mode 100644 .gitea/workflows/container.yaml delete mode 100644 .gitlab-ci.yml create mode 100644 Containerfile delete mode 100644 Dockerfile diff --git a/.gitea/workflows/container.yaml b/.gitea/workflows/container.yaml new file mode 100644 index 0000000..e48b3fd --- /dev/null +++ b/.gitea/workflows/container.yaml @@ -0,0 +1,12 @@ +name: Build Multiarch Container Image +on: [push] +jobs: + call-reusable-workflow: + uses: container/multiarch-build-workflow/.gitea/workflows/build.yaml@main + with: + repository: ${{ gitea.repository }} + ref_name: ${{ gitea.ref_name }} + sha: ${{ gitea.sha }} + registry_url: ${{ secrets.REGISTRY_URL }} + registry_user: ${{ secrets.REGISTRY_USER }} + registry_pw: ${{ secrets.REGISTRY_PW }} diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index afecd71..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,18 +0,0 @@ -variables: - CONTAINER_NAME: thallian/cops - -build: - stage: build - image: - name: gcr.io/kaniko-project/executor:debug - entrypoint: [""] - script: - - mkdir -p /kaniko/.docker - - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(printf "%s:%s" "$CI_REGISTRY_USER" "$CI_REGISTRY_PASSWORD" | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json - - >- - /kaniko/executor - --context "$CI_PROJECT_DIR" - --dockerfile "$CI_PROJECT_DIR/Dockerfile" - --destination "$CONTAINER_NAME:$CI_COMMIT_SHA" - --destination "$CONTAINER_NAME:$CI_COMMIT_REF_NAME" - --destination "$CONTAINER_NAME:latest" diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..8cc1bac --- /dev/null +++ b/Containerfile @@ -0,0 +1,43 @@ +FROM docker.io/thallian/php8-fpm:3.19-8.3 + +ENV FPMUSER nginx +ENV FPMGROUP nginx + +ENV VERSION 2.2.1 + +RUN apk add --no-cache \ + openssl \ + git \ + nginx \ + wget \ + php83 \ + php83-opcache \ + php83-pcntl \ + php83-gd \ + php83-sqlite3 \ + php83-json \ + php83-intl \ + php83-xml \ + php83-mbstring \ + php83-zip \ + php83-openssl \ + php83-phar \ + php83-pdo_sqlite \ + php83-ctype \ + php83-xmlwriter \ + php83-dom + +RUN mkdir -p /usr/share/webapps/cops +RUN wget -qO- https://github.com/mikespub-org/seblucas-cops/archive/$VERSION.tar.gz | tar xz -C /usr/share/webapps/cops --strip 1 + +WORKDIR /usr/share/webapps/cops +ENV COMPOSER_HASH=72600201c73c7c4b218f1c0511b36d8537963e36aafa244757f52309f885b314 +RUN wget https://getcomposer.org/download/2.6.6/composer.phar +RUN echo "$COMPOSER_HASH composer.phar" | sha256sum -c - || exit 1 +RUN php83 composer.phar install --no-dev --optimize-autoloader + +RUN chown -R nginx:nginx /usr/share/webapps/cops + +ADD /rootfs / + +VOLUME /var/lib/cops/calibre diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 182cadb..0000000 --- a/Dockerfile +++ /dev/null @@ -1,44 +0,0 @@ -FROM thallian/php7-fpm:latest - -ENV FPMUSER nginx -ENV FPMGROUP nginx - -ENV VERSION f65537cdc6f11e135fdc0fbfcaf05524f63ec667 - -RUN apk add --no-cache \ - openssl \ - git \ - nginx \ - wget \ - php7 \ - php7-opcache \ - php7-pcntl \ - php7-gd \ - php7-sqlite3 \ - php7-json \ - php7-intl \ - php7-xml \ - php7-mbstring \ - php7-zip \ - php7-openssl \ - php7-phar \ - php7-pdo_sqlite \ - php7-ctype \ - php7-xmlwriter \ - php7-dom - -RUN mkdir -p /usr/share/webapps/cops -RUN wget -qO- https://github.com/seblucas/cops/archive/$VERSION.tar.gz | tar xz -C /usr/share/webapps/cops --strip 1 - -WORKDIR /usr/share/webapps/cops -RUN wget https://getcomposer.org/download/1.9.0/composer.phar -RUN php composer.phar --no-plugins global require "fxp/composer-asset-plugin:~1.1" -RUN php composer.phar install --no-dev --optimize-autoloader - -RUN chown -R nginx:nginx /usr/share/webapps/cops - -RUN rm /etc/nginx/http.d/default.conf - -ADD /rootfs / - -VOLUME /var/lib/cops/calibre diff --git a/README.md b/README.md index 7d04447..97ab901 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[COPS](https://github.com/seblucas/cops), a web-based light alternative to Calibre content server. +[COPS](https://github.com/mikespub-org/seblucas-cops), a web-based light alternative to Calibre content server. # Volumes - `/var/lib/cops/calibre` diff --git a/rootfs/etc/confd/templates/cops.conf.tmpl b/rootfs/etc/confd/templates/cops.conf.tmpl index 7f65555..e0997ef 100644 --- a/rootfs/etc/confd/templates/cops.conf.tmpl +++ b/rootfs/etc/confd/templates/cops.conf.tmpl @@ -6,6 +6,7 @@ upstream php { } server { + listen [::]:8080; listen 8080; server_name {{getenv "DOMAIN"}}; From b91eb8f67eee5132a0e766e3e6da932f64e7fe11 Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Thu, 14 Dec 2023 22:07:33 +0100 Subject: [PATCH 09/10] no need to specifiy the domain for cops --- rootfs/etc/confd/templates/config_local.php.tmpl | 1 - 1 file changed, 1 deletion(-) diff --git a/rootfs/etc/confd/templates/config_local.php.tmpl b/rootfs/etc/confd/templates/config_local.php.tmpl index cdfde7e..3c5c6c4 100644 --- a/rootfs/etc/confd/templates/config_local.php.tmpl +++ b/rootfs/etc/confd/templates/config_local.php.tmpl @@ -4,7 +4,6 @@ $config['calibre_directory'] = '/var/lib/cops/calibre/'; $config['calibre_internal_directory'] = '/calibre/'; - $config['cops_full_url'] = '{{ getenv "DOMAIN" }}'; $config['cops_x_accel_redirect'] = "X-Accel-Redirect"; From b75e9b14ca564da98fb5b75ab86aadba1bf00bdc Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Wed, 27 Mar 2024 12:43:34 +0100 Subject: [PATCH 10/10] push to 2.5.0 --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 8cc1bac..80eefcf 100644 --- a/Containerfile +++ b/Containerfile @@ -3,7 +3,7 @@ FROM docker.io/thallian/php8-fpm:3.19-8.3 ENV FPMUSER nginx ENV FPMGROUP nginx -ENV VERSION 2.2.1 +ENV VERSION 2.5.0 RUN apk add --no-cache \ openssl \