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/.woodpecker.yml b/.woodpecker.yml deleted file mode 100644 index c807c1c..0000000 --- a/.woodpecker.yml +++ /dev/null @@ -1,11 +0,0 @@ -pipeline: - publish-docker-image: - image: plugins/kaniko - settings: - repo: docker.io/thallian/nextcloud - tags: latest,${CI_COMMIT_SHA:0:8},${CI_COMMIT_TAG=pre} - dockerfile: Dockerfile - username: - from_secret: DOCKER_USER - password: - from_secret: DOCKER_PW \ No newline at end of file diff --git a/Dockerfile b/Containerfile similarity index 53% rename from Dockerfile rename to Containerfile index 227c9ee..de7bdb5 100644 --- a/Dockerfile +++ b/Containerfile @@ -1,36 +1,28 @@ -FROM docker.io/alpine:3.18 AS builder +FROM docker.io/alpine:3.19 AS builder -ENV NC_VERSION=26.0.2 -ENV NC_SHA256_SUM=f3db0ec5e0aaff7c088eb34f752d77d79913bc6784e0fc47a84cdaa28e567a33 +ENV NC_VERSION=28.0.4 +ENV NC_SHA256_SUM=9bfecee1e12fba48c49e9a71caa81c4ba10b2884787fab75d64ccfd122a13019 RUN wget https://download.nextcloud.com/server/releases/nextcloud-$NC_VERSION.tar.bz2 RUN echo "$NC_SHA256_SUM nextcloud-$NC_VERSION.tar.bz2" | sha256sum -c - || exit 1 RUN mkdir -p /var/lib/nextcloud RUN tar xjf nextcloud-$NC_VERSION.tar.bz2 -C /var/lib/nextcloud --strip 1 -ENV TFA_VERSION=v6.4.1 -ENV TFA_SHA256_SUM=59ad8feada69ef92310ac4c6e01e4343cfa24f347bca32818b864305cbfe00e2 -RUN wget https://github.com/nextcloud-releases/twofactor_totp/releases/download/$TFA_VERSION/twofactor_totp-$TFA_VERSION.tar.gz -RUN echo "$TFA_SHA256_SUM twofactor_totp-$TFA_VERSION.tar.gz" | sha256sum -c - || exit 1 -RUN rm -r /var/lib/nextcloud/apps/twofactor_totp -RUN mkdir /var/lib/nextcloud/apps/twofactor_totp -RUN tar xzf twofactor_totp-$TFA_VERSION.tar.gz -C /var/lib/nextcloud/apps/twofactor_totp --strip 1 - -ENV POLLS_VERSION=5.0.5 -ENV POLLS_SHA256_SUM=48adf460a65e8adf58561886df0454cda4a642bcd0d3ccc561ef05d25b6a810e +ENV POLLS_VERSION=7.0.0 +ENV POLLS_SHA256_SUM=b91f6b4f687bc15b264cfb8b602e5ecc5304c5ccacc3d206ec421472685e5a7f RUN wget https://github.com/nextcloud/polls/releases/download/v$POLLS_VERSION/polls-$POLLS_VERSION.tar.gz RUN echo "$POLLS_SHA256_SUM polls-$POLLS_VERSION.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/polls RUN tar xzf polls-$POLLS_VERSION.tar.gz -C /var/lib/nextcloud/apps/polls --strip 1 -ENV CONTACTS_VERSION=v5.2.0 -ENV CONTACTS_SHA256_SUM=d557d9a8b5e66321eb14c21e27f4bc0a7a6a0c88869d75be304ea0abb7c5aeec +ENV CONTACTS_VERSION=v5.5.3 +ENV CONTACTS_SHA256_SUM=cf19a03228b3cd719f45e452f5727e7dbead2512c7fd9e4dbee2e9b296004452 RUN wget https://github.com/nextcloud-releases/contacts/releases/download/$CONTACTS_VERSION/contacts-$CONTACTS_VERSION.tar.gz RUN echo "$CONTACTS_SHA256_SUM contacts-$CONTACTS_VERSION.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/contacts RUN tar xzf contacts-$CONTACTS_VERSION.tar.gz -C /var/lib/nextcloud/apps/contacts --strip 1 -ENV CALENDAR_VERSION=v4.3.4 -ENV CALENDAR_SHA256_SUM=1a0e4c9a21f7a52a1ebff9f1098d5fb5e28dad4c4cd96bc35b24c50fe4fbc848 +ENV CALENDAR_VERSION=v4.6.7 +ENV CALENDAR_SHA256_SUM=3078c780c31627ccda418529ba875f91819531c7b000013b13a7d20339f7d740 RUN wget https://github.com/nextcloud-releases/calendar/releases/download/$CALENDAR_VERSION/calendar-$CALENDAR_VERSION.tar.gz RUN echo "$CALENDAR_SHA256_SUM calendar-$CALENDAR_VERSION.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/calendar @@ -43,36 +35,29 @@ RUN echo "$TASKS_SHA256_SUM tasks.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/tasks RUN tar xzf tasks.tar.gz -C /var/lib/nextcloud/apps/tasks --strip 1 -ENV NOTES_VERSION=v4.7.2 -ENV NOTES_SHA256_SUM=85b6f781547bab94772326e869c41b8c8443c7d05dc2a6e520acafd8e262aa0b +ENV NOTES_VERSION=v4.9.4 +ENV NOTES_SHA256_SUM=2ef524020b08fd0e7bfe6cce9ba7bebdf293b03e9b7f30808a96984b769871b8 RUN wget https://github.com/nextcloud/notes/releases/download/$NOTES_VERSION/notes.tar.gz RUN echo "$NOTES_SHA256_SUM notes.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/notes RUN tar xzf notes.tar.gz -C /var/lib/nextcloud/apps/notes --strip 1 -ENV NEWS_VERSION=21.2.0 -ENV NEWS_SHA256_SUM=aee2a0df43d0f14ac64414aa3f46a5c20e2817ee813351f3db14271da031a375 +ENV NEWS_VERSION=25.0.0-alpha4 +ENV NEWS_SHA256_SUM=f5ec5fb60d414bda5325e29d273b745f35e51510cd64287c6818240be7b8d337 RUN wget https://github.com/nextcloud/news/releases/download/$NEWS_VERSION/news.tar.gz RUN echo "$NEWS_SHA256_SUM news.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/news RUN tar xzf news.tar.gz -C /var/lib/nextcloud/apps/news --strip 1 -ENV MASTODON_INTEGRATION_VERSION=2.0.1 -ENV MASTODON_INTEGRATION_SHA256_SUM=cef5aeb0176d050c6e1d82dd4db3113db4cb5784372b5c875f6aa6cb6419b3b8 -RUN wget https://github.com/nextcloud/integration_mastodon/releases/download/v$MASTODON_INTEGRATION_VERSION/integration_mastodon-$MASTODON_INTEGRATION_VERSION.tar.gz -RUN echo "$MASTODON_INTEGRATION_SHA256_SUM integration_mastodon-$MASTODON_INTEGRATION_VERSION.tar.gz" | sha256sum -c - || exit 1 -RUN mkdir /var/lib/nextcloud/apps/integration_mastodon -RUN tar xzf integration_mastodon-$MASTODON_INTEGRATION_VERSION.tar.gz -C /var/lib/nextcloud/apps/integration_mastodon --strip 1 - -ENV SOCIAL_LOGIN_VERSION=v5.4.3 -ENV SOCIAL_LOGIN_SHA256_SUM=f9589d72620b9fca0457576b40b663f6a810d3d8443dee44cb1972f35e4b3e54 +ENV SOCIAL_LOGIN_VERSION=v5.6.4 +ENV SOCIAL_LOGIN_SHA256_SUM=648af2d41d965c8458351c3434b0016da75f7e17c7f8c194b621c724b72ce26f RUN wget https://github.com/zorn-v/nextcloud-social-login/releases/download/$SOCIAL_LOGIN_VERSION/release.tar.gz RUN echo "$SOCIAL_LOGIN_SHA256_SUM release.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/sociallogin RUN tar xzf release.tar.gz -C /var/lib/nextcloud/apps/sociallogin --strip 1 -FROM docker.io/thallian/php8-fpm:3.18 +FROM docker.io/thallian/php8-fpm:3.19-8.3 ENV FPMUSER=nginx ENV FPMGROUP=nginx @@ -81,37 +66,38 @@ ENV PHP_MEMORY_LIMIT=512M RUN apk add --no-cache \ nginx \ ffmpeg \ - php82-cli \ - php82-pecl-apcu \ - php82-opcache \ - php82-pcntl \ - php82-ctype \ - php82-curl \ - php82-dom \ - php82-gd \ - php82-iconv \ - php82-xml \ - php82-json \ - php82-mbstring \ - php82-openssl \ - php82-posix \ - php82-session \ - php82-simplexml \ - php82-xmlreader \ - php82-xmlwriter \ - php82-zip \ - php82-zlib \ - php82-pdo_pgsql \ - php82-bz2 \ - php82-fileinfo \ - php82-intl \ - php82-exif \ - php82-bcmath \ - php82-gmp \ - php82-imap \ - dcron + php83-cli \ + php83-pecl-apcu \ + php83-opcache \ + php83-pcntl \ + php83-ctype \ + php83-curl \ + php83-dom \ + php83-gd \ + php83-iconv \ + php83-xml \ + php83-json \ + php83-mbstring \ + php83-openssl \ + php83-posix \ + php83-session \ + php83-simplexml \ + php83-xmlreader \ + php83-xmlwriter \ + php83-zip \ + php83-zlib \ + php83-pdo_pgsql \ + php83-bz2 \ + php83-fileinfo \ + php83-intl \ + php83-exif \ + php83-bcmath \ + php83-gmp \ + php83-imap \ + php83-pdo \ + dcron -RUN ln -s /usr/bin/php82 /usr/bin/php +RUN ln -s /usr/bin/php83 /usr/bin/php COPY --from=builder --chown=nginx:nginx /var/lib/nextcloud /var/lib/nextcloud diff --git a/rootfs/bin/nextcloud-config b/rootfs/bin/nextcloud-config index 7d0720b..6008452 100755 --- a/rootfs/bin/nextcloud-config +++ b/rootfs/bin/nextcloud-config @@ -5,19 +5,19 @@ cd /var/lib/nextcloud chmod +x ./occ if [ ! -f /var/lib/nextcloud/data/.installed ]; then - s6-setuidgid nginx ./occ maintenance:install \ - --database=pgsql \ - --database-host="$DB_HOST" \ - --database-name="$DB_NAME" \ - --database-user="$DB_USER" \ - --database-pass="$DB_PASSWORD" \ - --database-port="$DB_PORT" \ - --admin-user="$ADMIN_USER" \ - --admin-pass="$ADMIN_PASSWORD" \ - --data-dir=/var/lib/nextcloud/data/ \ - --no-interaction + s6-setuidgid nginx ./occ maintenance:install \ + --database=pgsql \ + --database-host="$DB_HOST" \ + --database-name="$DB_NAME" \ + --database-user="$DB_USER" \ + --database-pass="$DB_PASSWORD" \ + --database-port="$DB_PORT" \ + --admin-user="$ADMIN_USER" \ + --admin-pass="$ADMIN_PASSWORD" \ + --data-dir=/var/lib/nextcloud/data/ \ + --no-interaction - touch /var/lib/nextcloud/data/.installed + touch /var/lib/nextcloud/data/.installed fi s6-setuidgid nginx ./occ config:app:set --value cron core backgroundjobs_mode @@ -26,16 +26,14 @@ s6-setuidgid nginx ./occ app:enable text s6-setuidgid nginx ./occ app:enable files_pdfviewer s6-setuidgid nginx ./occ app:enable theming s6-setuidgid nginx ./occ app:enable photos -s6-setuidgid nginx ./occ app:enable twofactor_totp s6-setuidgid nginx ./occ app:enable twofactor_backupcodes s6-setuidgid nginx ./occ app:enable polls s6-setuidgid nginx ./occ app:enable calendar s6-setuidgid nginx ./occ app:enable contacts s6-setuidgid nginx ./occ app:enable news s6-setuidgid nginx ./occ app:enable tasks -s6-setuidgid nginx ./occ app:enable notes +# s6-setuidgid nginx ./occ app:enable notes s6-setuidgid nginx ./occ app:enable sociallogin -s6-setuidgid nginx ./occ app:enable integration_mastodon s6-setuidgid nginx ./occ app:disable activity s6-setuidgid nginx ./occ app:disable comments s6-setuidgid nginx ./occ app:disable files_trashbin diff --git a/rootfs/etc/php81/conf.d/enable_apcu_for_cli.ini b/rootfs/etc/php83/conf.d/enable_apcu_for_cli.ini similarity index 100% rename from rootfs/etc/php81/conf.d/enable_apcu_for_cli.ini rename to rootfs/etc/php83/conf.d/enable_apcu_for_cli.ini