From fa3f4bb81fda4a0376e6a60a245104cbf4ad4f2e Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 30 Jun 2026 16:58:52 +0200 Subject: [PATCH] build nextcloud image from source --- .forgejo/workflows/build_nextcloud.yml | 26 ++++++++++++++++++++++---- nextcloud/Containerfile | 8 ++++---- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/.forgejo/workflows/build_nextcloud.yml b/.forgejo/workflows/build_nextcloud.yml index 7eee44e..588f33b 100644 --- a/.forgejo/workflows/build_nextcloud.yml +++ b/.forgejo/workflows/build_nextcloud.yml @@ -17,18 +17,36 @@ jobs: nextcloud-version: [ 33, 34 ] steps: - name: Install required system packages - run: apk add --no-cache nodejs + run: apk add --no-cache nodejs git - - name: Checkout Source Code + - name: Checkout source code uses: actions/checkout@v6 - - name: Build Container + - name: Checkout nextcloud/docker + run: git clone --depth 1 https://github.com/nextcloud/docker.git nextcloud-docker + + - name: Build base Nextcloud image env: KANIKO_NO_PUSH: ${{ forgejo.ref_name != 'main' }} KANIKO_GIT_HAMBURG_CCC_DE_USER: forgejo-actions KANIKO_GIT_HAMBURG_CCC_DE_PASSWORD: ${{ secrets.PACKAGES_TOKEN }} run: /kaniko/executor - --dockerfile="${{forgejo.workspace }}/nextcloud/Containerfile" + --dockerfile="${{ forgejo.workspace }}/nextcloud-docker/${{ matrix.nextcloud-version }}/apache/Dockerfile" + --context="dir://${{ forgejo.workspace }}/nextcloud-docker/${{ matrix.nextcloud-version }}/apache" + --build-arg=TAG=${{ matrix.nextcloud-version }} + --destination=git.hamburg.ccc.de/ccchh/oci-images/nextcloud-base:${{ matrix.nextcloud-version }} + --no-push-cache + --credential-helpers=env + --annotation=org.opencontainers.image.ref.name=nextcloud-base + --annotation=org.opencontainers.image.source=${{ forgejo.server_url }}/${{ forgejo.repository }} + + - name: Build extended image + env: + KANIKO_NO_PUSH: ${{ forgejo.ref_name != 'main' }} + KANIKO_GIT_HAMBURG_CCC_DE_USER: forgejo-actions + KANIKO_GIT_HAMBURG_CCC_DE_PASSWORD: ${{ secrets.PACKAGES_TOKEN }} + run: /kaniko/executor + --dockerfile="${{ forgejo.workspace }}/nextcloud/Containerfile" --context="dir://${{ forgejo.workspace }}/nextcloud" --build-arg=TAG=${{ matrix.nextcloud-version }} --destination=git.hamburg.ccc.de/ccchh/oci-images/nextcloud:${{ matrix.nextcloud-version }} diff --git a/nextcloud/Containerfile b/nextcloud/Containerfile index d139a4d..d76a998 100644 --- a/nextcloud/Containerfile +++ b/nextcloud/Containerfile @@ -1,10 +1,10 @@ -ARG TAG=latest -FROM docker.io/library/nextcloud:${TAG} +ARG TAG +FROM git.hamburg.ccc.de/ccchh/oci-images/nextcloud-base:${TAG} RUN apt-get update \ && apt-get install -y supervisor \ && rm -rf /var/lib/apt/lists/* \ - && mkdir -p /var/log/supervisord /var/run/supervisord + && mkdir -p /var/log/supervisord /var/run/supervisord # We need to copy a file to the supervisord folder in /var/run so it exists when the container starts. COPY .keep /var/run/supervisord/ @@ -13,4 +13,4 @@ COPY supervisord.conf / ENV NEXTCLOUD_UPDATE=1 -CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"] \ No newline at end of file +CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]