Skip to content

Commit

Permalink
Merge pull request #175 from nextcloud/prepare-25.0.2
Browse files Browse the repository at this point in the history
bump to Nextcloud 25
  • Loading branch information
blizzz authored Jul 6, 2023
2 parents a19a3d9 + f91e943 commit c78d814
Show file tree
Hide file tree
Showing 14 changed files with 136 additions and 96 deletions.
99 changes: 75 additions & 24 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,90 @@
name: 'Docker Publish'
name: Docker

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

on:
push:
tags:
- '*'
tags: [ '*' ]

env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}


jobs:
push_to_registry:
name: Push Docker image to GitHub Packages
build:

runs-on: ubuntu-latest
permissions:
packages: write
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write

steps:
- name: Check out the repo
uses: actions/checkout@v2
- name: Determine the source tag
id: get_source_tag
run: |
echo ::set-output name=SOURCE_TAG::${GITHUB_REF#refs/tags/}
- name: Log in to GitHub Docker Registry
uses: docker/login-action@v1
- name: Checkout repository
uses: actions/checkout@v3

# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@f3c664df7af409cb4873aa5068053ba9d61a57b6 #v2.6.0
with:
registry: docker.pkg.github.com
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Log in to GitHub Container Registry
uses: docker/login-action@v1
cosign-release: 'v1.13.1'


# Workaround: https://github.com/docker/build-push-action/issues/461
- name: Setup Docker buildx
uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf

# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
with:
registry: ghcr.io
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build container image
uses: docker/build-push-action@v2

# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@ac9327eae2b366085ac7f6a2d02df8aa8ead720a
with:
context: .
push: true
tags: |
ghcr.io/nextcloud/univention-app:${{ steps.get_source_tag.outputs.SOURCE_TAG }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max


# Sign the resulting Docker image digest except on PRs.
# This will only write to the public Rekor transparency log when the Docker
# repository is public to avoid leaking data. If you would like to publish
# transparency data even for private images, pass --force to cosign below.
# https://github.com/sigstore/cosign
- name: Sign the published Docker image
if: ${{ github.event_name != 'pull_request' }}
env:
COSIGN_EXPERIMENTAL: "true"
# This step uses the identity token to provision an ephemeral certificate
# against the sigstore community Fulcio instance.
run: echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign {}@${{ steps.build-and-push.outputs.digest }}
38 changes: 16 additions & 22 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Nextcloud - Dockerfile
#
# @copyright Copyright (c) 2021 Arthur Schiwon (blizzz@arthur-schiwon.de)
# @copyright Copyright (c) 2022 Arthur Schiwon (blizzz@arthur-schiwon.de)
# @copyright Copyricht (c) 2018 Nico Gulden (gulden@univention.de)
# @copyright Copyright (c) 2017 Lukas Reschke (lukas@statuscode.ch)
# @copyright Copyright (c) 2016 Marcos Zuriaga Miguel (wolfi@wolfi.es)
Expand All @@ -20,20 +20,24 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

FROM ubuntu:20.04
FROM ubuntu:22.04

ADD https://download.nextcloud.com/server/releases/nextcloud-24.0.11.tar.bz2 /root/nextcloud.tar.bz2
ADD https://github.com/nextcloud-releases/richdocuments/releases/download/v6.3.5/richdocuments-v6.3.5.tar.gz /root/richdocuments.tar.gz
ADD https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.7.0/onlyoffice.tar.gz /root/onlyoffice.tar.gz
ADD https://download.nextcloud.com/server/releases/nextcloud-25.0.8.tar.bz2 /root/nextcloud.tar.bz2
ADD https://github.com/nextcloud-releases/richdocuments/releases/download/v7.1.4/richdocuments-v7.1.4.tar.gz /root/richdocuments.tar.gz
ADD https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.8.0/onlyoffice.tar.gz /root/onlyoffice.tar.gz
COPY resources/entrypoint.sh /usr/sbin/
COPY resources/60-nextcloud.ini /etc/php/7.4/apache2/conf.d/
COPY resources/60-nextcloud.ini /etc/php/7.4/cli/conf.d/
COPY resources/60-nextcloud.ini /etc/php/8.1/apache2/conf.d/
COPY resources/60-nextcloud.ini /etc/php/8.1/cli/conf.d/
COPY resources/000-default.conf /etc/apache2/sites-enabled/

# uncomment and set to true if a patch nededs to be applied
#COPY resources/19439.patch /root/nc.patch
ENV NC_IS_PATCHED false

RUN /bin/bash -c "export DEBIAN_FRONTEND=noninteractive" && \
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
apt-get -y update && apt-get -y full-upgrade

RUN /bin/bash -c "export DEBIAN_FRONTEND=noninteractive" && \
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
apt-get -y update && apt-get -y full-upgrade && apt-get install -y \
Expand All @@ -47,7 +51,6 @@ RUN /bin/bash -c "export DEBIAN_FRONTEND=noninteractive" && \
php-bcmath \
php-curl \
php-dev \
php-dompdf \
php-gd \
php-imagick \
php-intl \
Expand All @@ -58,8 +61,8 @@ RUN /bin/bash -c "export DEBIAN_FRONTEND=noninteractive" && \
php-ldap \
php-oauth \
php-pgsql \
php-pear \
php-gmp \
php-smbclient \
wget \
pwgen \
sudo \
Expand All @@ -69,20 +72,8 @@ RUN /bin/bash -c "export DEBIAN_FRONTEND=noninteractive" && \
unattended-upgrades \
unzip

RUN wget -O /tmp/libsmbclient-php.zip https://github.com/eduardok/libsmbclient-php/archive/master.zip && \
unzip /tmp/libsmbclient-php.zip -d /tmp && \
cd /tmp/libsmbclient-php-master && \
phpize && ./configure && make && sudo make install && \
echo 'extension="smbclient.so"' >> /etc/php/7.4/cli/conf.d/60-nextcloud.ini && \
echo 'extension="smbclient.so"' >> /etc/php/7.4/apache2/conf.d/60-nextcloud.ini && \
apt purge -y php-dev unzip

RUN apt autoremove -y

COPY resources/ldap.conf /etc/ldap/

RUN apt clean

RUN a2enmod headers
RUN a2enmod rewrite

Expand All @@ -94,7 +85,6 @@ RUN cd /root/ && \
rm -Rf /root/nextcloud && \
rm "nextcloud.tar.bz2" && \
cd /var/www/html/ && \
chmod +x occ && \
chown -R www-data /var/www/html

RUN rm -Rf /var/www/html/apps/updatenotification
Expand All @@ -111,6 +101,10 @@ RUN cd /var/www/html/apps && \
chown -R www-data:nogroup /var/www/html/apps/onlyoffice && \
rm /root/onlyoffice.tar.gz

RUN /bin/bash -c "export DEBIAN_FRONTEND=noninteractive" && \
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
apt autoremove -y && apt clean

# uncomment and adjust following block if a patch needs to be applied
#RUN cd /var/www/html/ && \
# patch -p1 -t < /root/nc.patch && \
Expand Down
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @copyright Copyright (c) 2021 Arthur Schiwon <blizzz@arthur-schiwon.de>
# @copyright Copyright (c) 2022 Arthur Schiwon <blizzz@arthur-schiwon.de>
#
# @author Arthur Schiwon <blizzz@arthur-schiwon.de>
#
Expand All @@ -18,8 +18,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.

app_name=nextcloud
app_version=24.0.11-0
app_upgrade_from=23.0.6-0
app_version=25.0.8-0
app_upgrade_from=24.0.11-0-ucs1

ucs_version=5.0

Expand Down
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,6 @@ If a config.php exists, it will be copied from the permanent app folder to the u

### 4. setup

`occ` is made executable.

Checks are done whether Nextcloud is installed and being upgraded.

On install
Expand Down
2 changes: 1 addition & 1 deletion i18n/de/README_INSTALL_DE
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
Nextcloud bietet die Möglichkeit, LDAP Gruppen aus UCS zu verwenden. Dies vereinfacht es zum Beispiel, Ordner für eine Gruppe von Leuten bereit zu stellen. Um eine bestimmte Gruppe einzubeziehen, können diese aus ihren erweiterten Einstellungen in UCS heraus für Nextcloud freigegeben werden. Um eine signifikant bessere Performance zu erhalten, sollte vor der Nextcloud-Installation das <a href="https://help.univention.com/t/memberof-attribute-group-memberships-of-user-and-computer-objects/6439" target="_blank">memberOf-Overlay</a> aktiviert werden. In Domänen, die mindestens mit UCS Version 4.3 installiert wurden, ist das memberOf-Overlay standardmäßig aktiviert.
</p>
<p>
Falls im Host Webserver HTTP Strict Transport Security nicht eingeschaltet sein sollte, so ist diese Einrichtung zu empfehlen. Weitere Informationen dazu befinden sich in der <a href="https://docs.nextcloud.com/server/24/admin_manual/installation/harden_server.html#enable-http-strict-transport-security" target="_blank">Dokumentation</a>.
Falls im Host Webserver HTTP Strict Transport Security nicht eingeschaltet sein sollte, so ist diese Einrichtung zu empfehlen. Weitere Informationen dazu befinden sich in der <a href="https://docs.nextcloud.com/server/25/admin_manual/installation/harden_server.html#enable-http-strict-transport-security" target="_blank">Dokumentation</a>.
</p>
4 changes: 2 additions & 2 deletions i18n/de/README_POST_INSTALL_DE
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
<p>Im Bereich der <strong>Sicherheits- & Einrichtungswarnungen</strong> werden wahrscheinlich einige Hinweise angezeigt, mit der die Nextcloud-Installation verbessert werden kann. Diese Punkt können nicht im Rahmen der Nextcloud Integration für UCS erfolgen, stattdessen entscheidet der Administrator gegebenenfalls Schritte durchzuführen.
<h3>"Strict-Transport-Security" HTTP header</h3>
<p>Um den Dienst gegen Man-in-the-Middle Attacken zu härten, kann dieser Mechanismus aktiviert werden. Die SSL Terminierung erfolgt auf dem Reverse Proxy, typischer ein Apache2 Webserver auf dem Host. Die Konfiguration für die Domain(s) unter denen Nextcloud betrieben wird, muss dafür um einen HTTP Header ergänzt werden. Wenn diese Änderungen durchgeführt werden, wirken sie sich auf alle Dienste unterhalb der Domain aus.</p>
<p>This <a href="https://docs.nextcloud.com/server/24/admin_manual/installation/harden_server.html#enable-http-strict-transport-security">Dokumentation erklärt wie HSTS eingerichtet wird</a>. Der <strong>includeSubDomains</strong>-Schalter ist notwendig.</p>
<p>This <a href="https://docs.nextcloud.com/server/25/admin_manual/installation/harden_server.html#enable-http-strict-transport-security">Dokumentation erklärt wie HSTS eingerichtet wird</a>. Der <strong>includeSubDomains</strong>-Schalter ist notwendig.</p>
<h3>Auflösung von "/.well-known/caldav|carddav" scheitert</h3
<p>Das Auffinden von Adressbuch- und Kalenderdiensten kann für entsprechende Klienten vereinfacht werden, in dem solche well-known URLs verfügbar gemacht werden, die letztlich auf den tatsächlichen Dienst verweisen. Die anschlagende Überprüfung tested, ob unterhalb der Hauptdomain diese URLs vorhanden sind. Um diese bereit zu stellen muss auch hier der Webserver des Hosts <a href="https://docs.nextcloud.com/server/24/admin_manual/issues/general_troubleshooting.html#service-discovery">anhand dieser Dokumentation</a> angefasst werden.
<p>Das Auffinden von Adressbuch- und Kalenderdiensten kann für entsprechende Klienten vereinfacht werden, in dem solche well-known URLs verfügbar gemacht werden, die letztlich auf den tatsächlichen Dienst verweisen. Die anschlagende Überprüfung tested, ob unterhalb der Hauptdomain diese URLs vorhanden sind. Um diese bereit zu stellen muss auch hier der Webserver des Hosts <a href="https://docs.nextcloud.com/server/25/admin_manual/issues/general_troubleshooting.html#service-discovery">anhand dieser Dokumentation</a> angefasst werden.
<p>Es kann nur jeweils ein Dienst pro Domain verknüpft werden. Das Vorhandensein der URLs ist nicht kritisch für das Funktionieren der Nextcloud, erhöht aber den Komfort für einige Endnutzer.</p>
<p>Diese Überprüfung ist während der Nextcloud 13 Serie eingeführt worden. In früheren Versionen wurde der Hinweis folglich nicht gezeigt.</p>
6 changes: 3 additions & 3 deletions i18n/de/README_POST_UPDATE_DE
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
<p>Im Bereich der <strong>Sicherheits- & Einrichtungswarnungen</strong> werden wahrscheinlich einige Hinweise angezeigt, mit der die Nextcloud-Installation verbessert werden kann. Diese Punkt können nicht im Rahmen der Nextcloud Integration für UCS erfolgen, stattdessen entscheidet der Administrator gegebenenfalls Schritte durchzuführen.
<h3>"Strict-Transport-Security" HTTP header</h3>
<p>Um den Dienst gegen Man-in-the-Middle Attacken zu härten, kann dieser Mechanismus aktiviert werden. Die SSL Terminierung erfolgt auf dem Reverse Proxy, typischer ein Apache2 Webserver auf dem Host. Die Konfiguration für die Domain(s) unter denen Nextcloud betrieben wird, muss dafür um einen HTTP Header ergänzt werden. Wenn diese Änderungen durchgeführt werden, wirken sie sich auf alle Dienste unterhalb der Domain aus.</p>
<p>This <a href="https://docs.nextcloud.com/server/24/admin_manual/installation/harden_server.html#enable-http-strict-transport-security">Dokumentation erklärt wie HSTS eingerichtet wird</a>. Der <strong>includeSubDomains</strong>-Schalter ist notwendig.</p>
<p>This <a href="https://docs.nextcloud.com/server/25/admin_manual/installation/harden_server.html#enable-http-strict-transport-security">Dokumentation erklärt wie HSTS eingerichtet wird</a>. Der <strong>includeSubDomains</strong>-Schalter ist notwendig.</p>
<h3>Auflösung von "/.well-known/caldav|carddav" scheitert</h3
<p>Das Auffinden von Adressbuch- und Kalenderdiensten kann für entsprechende Klienten vereinfacht werden, in dem solche well-known URLs verfügbar gemacht werden, die letztlich auf den tatsächlichen Dienst verweisen. Die anschlagende Überprüfung tested, ob unterhalb der Hauptdomain diese URLs vorhanden sind. Um diese bereit zu stellen muss auch hier der Webserver des Hosts <a href="https://docs.nextcloud.com/server/24/admin_manual/issues/general_troubleshooting.html#service-discovery">anhand dieser Dokumentation</a> angefasst werden.
<p>Das Auffinden von Adressbuch- und Kalenderdiensten kann für entsprechende Klienten vereinfacht werden, in dem solche well-known URLs verfügbar gemacht werden, die letztlich auf den tatsächlichen Dienst verweisen. Die anschlagende Überprüfung tested, ob unterhalb der Hauptdomain diese URLs vorhanden sind. Um diese bereit zu stellen muss auch hier der Webserver des Hosts <a href="https://docs.nextcloud.com/server/25/admin_manual/issues/general_troubleshooting.html#service-discovery">anhand dieser Dokumentation</a> angefasst werden.
<p>Es kann nur jeweils ein Dienst pro Domain verknüpft werden. Das Vorhandensein der URLs ist nicht kritisch für das Funktionieren der Nextcloud, erhöht aber den Komfort für einige Endnutzer.</p>
<p>Diese Überprüfung ist während der Nextcloud 13 Serie eingeführt worden. In früheren Versionen wurde der Hinweis folglich nicht gezeigt.</p>
<h3>Fehlende Datenbank-Indizes</h3>
<p>Diese Meldung erscheint nach einem Upgrade von Nextcloud 13. Die Datenbankstruktur hat sich leicht geändert und neue Indizes sind hinzugefügt worden. Theoretisch könnten diese während dem Upgrade-Prozess hinzugefügt werden. Weil dies jedoch insbesondere bei großen Datenbeständen zeitintensiv ist, wird es in dem Rahmen nicht durchgeführt. Die Indizes sind nicht kritisch für die Funktionstüchtigkeit der Nextcloud, verbessern aber die Geschwindigkeit bei relevanten Operationen.</p>
<p>Folgender Befehl, auszuführen auf dem Host, fügt die Indizes hinzu:</p>
<p><code>univention-app shell nextcloud sudo -u www-data /var/www/html/occ db:add-missing-indices</code></p>
<p><code>univention-app shell nextcloud sudo -u www-data php /var/www/html/occ db:add-missing-indices</code></p>
<p>Es ist nicht notwendig Nextcloud in den Wartungsmodus zu schalten, diese Aktion kann während des Produktivbetriebs durchgeführt werden.</p>
<h2>Mailserver Konfiguration</h2>
<p>Sofern die Einstellungen zum Mailserver noch nicht vorgenommen wurden, empfiehlt es sicht diese als Administrator in den Admineinstellungen einzurichten.</p>
2 changes: 1 addition & 1 deletion i18n/en/README_INSTALL_EN
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Nextcloud offers the possibility of using LDAP groups from UCS. This make it easier to share a folder to a range of people, for instance. To include a specific group they can be enabled from within their extended settings in UCS. For a significantly better performance, please make sure that the <a href="https://help.univention.com/t/memberof-attribute-group-memberships-of-user-and-computer-objects/6439" target="_blank">memberOf overlay</a> is activated. In domains that were installed with at least UCS 4.3 it is activated by default.
<br>
<br>
Also, if the host webserver does not have HTTP Strict Transport Security enabled, it is recommend to configure it. More information can be found in <a href="https://docs.nextcloud.com/server/24/admin_manual/installation/harden_server.html#enable-http-strict-transport-security" target="_blank">our documentation</a>.
Also, if the host webserver does not have HTTP Strict Transport Security enabled, it is recommend to configure it. More information can be found in <a href="https://docs.nextcloud.com/server/25/admin_manual/installation/harden_server.html#enable-http-strict-transport-security" target="_blank">our documentation</a>.
Loading

0 comments on commit c78d814

Please sign in to comment.