diff --git a/.gitea/workflows/container.yaml b/.gitea/workflows/container.yaml deleted file mode 100644 index e48b3fd..0000000 --- a/.gitea/workflows/container.yaml +++ /dev/null @@ -1,12 +0,0 @@ -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 new file mode 100644 index 0000000..c807c1c --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,11 @@ +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/Containerfile b/Dockerfile similarity index 53% rename from Containerfile rename to Dockerfile index de7bdb5..227c9ee 100644 --- a/Containerfile +++ b/Dockerfile @@ -1,28 +1,36 @@ -FROM docker.io/alpine:3.19 AS builder +FROM docker.io/alpine:3.18 AS builder -ENV NC_VERSION=28.0.4 -ENV NC_SHA256_SUM=9bfecee1e12fba48c49e9a71caa81c4ba10b2884787fab75d64ccfd122a13019 +ENV NC_VERSION=26.0.2 +ENV NC_SHA256_SUM=f3db0ec5e0aaff7c088eb34f752d77d79913bc6784e0fc47a84cdaa28e567a33 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 POLLS_VERSION=7.0.0 -ENV POLLS_SHA256_SUM=b91f6b4f687bc15b264cfb8b602e5ecc5304c5ccacc3d206ec421472685e5a7f +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 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.5.3 -ENV CONTACTS_SHA256_SUM=cf19a03228b3cd719f45e452f5727e7dbead2512c7fd9e4dbee2e9b296004452 +ENV CONTACTS_VERSION=v5.2.0 +ENV CONTACTS_SHA256_SUM=d557d9a8b5e66321eb14c21e27f4bc0a7a6a0c88869d75be304ea0abb7c5aeec 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.6.7 -ENV CALENDAR_SHA256_SUM=3078c780c31627ccda418529ba875f91819531c7b000013b13a7d20339f7d740 +ENV CALENDAR_VERSION=v4.3.4 +ENV CALENDAR_SHA256_SUM=1a0e4c9a21f7a52a1ebff9f1098d5fb5e28dad4c4cd96bc35b24c50fe4fbc848 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 @@ -35,29 +43,36 @@ 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.9.4 -ENV NOTES_SHA256_SUM=2ef524020b08fd0e7bfe6cce9ba7bebdf293b03e9b7f30808a96984b769871b8 +ENV NOTES_VERSION=v4.7.2 +ENV NOTES_SHA256_SUM=85b6f781547bab94772326e869c41b8c8443c7d05dc2a6e520acafd8e262aa0b 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=25.0.0-alpha4 -ENV NEWS_SHA256_SUM=f5ec5fb60d414bda5325e29d273b745f35e51510cd64287c6818240be7b8d337 +ENV NEWS_VERSION=21.2.0 +ENV NEWS_SHA256_SUM=aee2a0df43d0f14ac64414aa3f46a5c20e2817ee813351f3db14271da031a375 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 SOCIAL_LOGIN_VERSION=v5.6.4 -ENV SOCIAL_LOGIN_SHA256_SUM=648af2d41d965c8458351c3434b0016da75f7e17c7f8c194b621c724b72ce26f +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 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.19-8.3 +FROM docker.io/thallian/php8-fpm:3.18 ENV FPMUSER=nginx ENV FPMGROUP=nginx @@ -66,38 +81,37 @@ ENV PHP_MEMORY_LIMIT=512M RUN apk add --no-cache \ nginx \ ffmpeg \ - 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 + 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 -RUN ln -s /usr/bin/php83 /usr/bin/php +RUN ln -s /usr/bin/php82 /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 6008452..7d0720b 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,14 +26,16 @@ 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/php83/conf.d/enable_apcu_for_cli.ini b/rootfs/etc/php81/conf.d/enable_apcu_for_cli.ini similarity index 100% rename from rootfs/etc/php83/conf.d/enable_apcu_for_cli.ini rename to rootfs/etc/php81/conf.d/enable_apcu_for_cli.ini