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/.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 e9fee4c..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,13 +0,0 @@ -variables: - IMAGE_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 diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..80eefcf --- /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.5.0 + +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 8852e35..0000000 --- a/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM thallian/php7-fpm:latest - -ENV FPMUSER nginx -ENV FPMGROUP nginx - -ENV VERSION f65537cdc6f11e135fdc0fbfcaf05524f63ec667 - -RUN apk add --no-cache \ - libressl \ - 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 mkdir /run/nginx -RUN rm /etc/nginx/conf.d/default.conf - -ADD /rootfs / - -VOLUME /var/lib/cops/calibre diff --git a/README.md b/README.md index c6ea0ee..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` @@ -13,4 +13,4 @@ Domain where the cops instance is reachable. Website title. # Ports -- 80 +- 8080 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" 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"; diff --git a/rootfs/etc/confd/templates/cops.conf.tmpl b/rootfs/etc/confd/templates/cops.conf.tmpl index 3cc3cd2..e0997ef 100644 --- a/rootfs/etc/confd/templates/cops.conf.tmpl +++ b/rootfs/etc/confd/templates/cops.conf.tmpl @@ -6,7 +6,8 @@ upstream php { } server { - listen 80; + listen [::]:8080; + listen 8080; server_name {{getenv "DOMAIN"}}; diff --git a/rootfs/etc/s6-overlay/s6-rc.d/nginx/dependencies b/rootfs/etc/s6-overlay/s6-rc.d/nginx/dependencies new file mode 100644 index 0000000..7ba7514 --- /dev/null +++ b/rootfs/etc/s6-overlay/s6-rc.d/nginx/dependencies @@ -0,0 +1 @@ +confd diff --git a/rootfs/etc/services.d/nginx/run b/rootfs/etc/s6-overlay/s6-rc.d/nginx/run similarity index 51% rename from rootfs/etc/services.d/nginx/run rename to rootfs/etc/s6-overlay/s6-rc.d/nginx/run index 807d20a..e33de41 100644 --- a/rootfs/etc/services.d/nginx/run +++ b/rootfs/etc/s6-overlay/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-overlay/s6-rc.d/nginx/type b/rootfs/etc/s6-overlay/s6-rc.d/nginx/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/rootfs/etc/s6-overlay/s6-rc.d/nginx/type @@ -0,0 +1 @@ +longrun diff --git a/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/nginx b/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/nginx new file mode 100644 index 0000000..e69de29