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 14c7dc0..0000000 --- a/.woodpecker.yml +++ /dev/null @@ -1,11 +0,0 @@ -pipeline: - publish-docker-image: - image: plugins/kaniko - settings: - repo: docker.io/thallian/roundcube - 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/Containerfile new file mode 100644 index 0000000..ceaac4e --- /dev/null +++ b/Containerfile @@ -0,0 +1,74 @@ +FROM docker.io/alpine:3.19 AS builder + +RUN apk add --no-cache \ + php83 \ + php83-phar \ + php83-mbstring \ + php83-openssl \ + php83-ctype \ + php83-gd \ + php83-dom \ + php83-xml \ + php83-ldap \ + php83-xmlreader \ + php83-xmlwriter + +ENV COMPOSER_VERSION=2.6.6 +ENV COMPOSER_SHA256_SUM=72600201c73c7c4b218f1c0511b36d8537963e36aafa244757f52309f885b314 +RUN wget https://getcomposer.org/download/$COMPOSER_VERSION/composer.phar +RUN echo "$COMPOSER_SHA256_SUM composer.phar" | sha256sum -c - || exit 1 +RUN mv composer.phar /usr/bin/composer +RUN chmod +x /usr/bin/composer + +ENV VERSION=1.6.5 +ENV SHA256_SUM=164b72cb78de89d104741ee9090f4024e63bfada43949034844365f3fa70b5fd +RUN wget https://github.com/roundcube/roundcubemail/releases/download/$VERSION/roundcubemail-$VERSION-complete.tar.gz +RUN echo "$SHA256_SUM roundcubemail-$VERSION-complete.tar.gz" | sha256sum -c - || exit 1 +RUN mkdir -p /var/lib/roundcube +RUN tar xzf roundcubemail-$VERSION-complete.tar.gz -C /var/lib/roundcube --strip 1 + +FROM docker.io/thallian/php8-fpm:3.19-8.3 + +RUN apk add --no-cache \ + openssl \ + tar \ + nginx \ + postgresql-client \ + aspell \ + ca-certificates \ + php83 \ + php83-imap \ + php83-dom \ + php83-json \ + php83-xml \ + php83-session \ + php83-pdo \ + php83-pdo_pgsql \ + php83-sockets \ + php83-exif \ + php83-iconv \ + php83-openssl \ + php83-mbstring \ + php83-sockets \ + php83-zip \ + php83-pspell \ + php83-pecl-apcu \ + php83-gd \ + php83-ctype \ + php83-xmlreader \ + php83-xmlwriter \ + php83-tokenizer \ + php83-curl \ + php83-simplexml \ + php83-xml \ + php83-dom \ + php83-intl + +COPY --from=builder --chown=nginx:nginx /var/lib/roundcube /var/lib/roundcube + +ADD /rootfs / + +EXPOSE 8080 + +ENV FPMUSER nginx +ENV FPMGROUP nginx diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 978a149..0000000 --- a/Dockerfile +++ /dev/null @@ -1,74 +0,0 @@ -FROM docker.io/alpine:3.18 AS builder - -RUN apk add --no-cache \ - php82 \ - php82-phar \ - php82-mbstring \ - php82-openssl \ - php82-ctype \ - php82-gd \ - php82-dom \ - php82-xml \ - php82-ldap \ - php82-xmlreader \ - php82-xmlwriter - -ENV COMPOSER_VERSION=2.6.3 -ENV COMPOSER_SHA256_SUM=e58a390cac0df45ccf5a3d95ae94fa239eded8b7907fa2c8f752f020304fc9b1 -RUN wget https://getcomposer.org/download/$COMPOSER_VERSION/composer.phar -RUN echo "$COMPOSER_SHA256_SUM composer.phar" | sha256sum -c - || exit 1 -RUN mv composer.phar /usr/bin/composer -RUN chmod +x /usr/bin/composer - -ENV VERSION=1.6.3 -ENV SHA256_SUM=5e60ccd50f62fb00c43d335ec08a9bdafbf2bdd02552256cc4009908b39ad98f -RUN wget https://github.com/roundcube/roundcubemail/releases/download/$VERSION/roundcubemail-$VERSION-complete.tar.gz -RUN echo "$SHA256_SUM roundcubemail-$VERSION-complete.tar.gz" | sha256sum -c - || exit 1 -RUN mkdir -p /var/lib/roundcube -RUN tar xzf roundcubemail-$VERSION-complete.tar.gz -C /var/lib/roundcube --strip 1 - -FROM docker.io/thallian/php8-fpm:3.18-8.2 - -RUN apk add --no-cache \ - openssl \ - tar \ - nginx \ - postgresql-client \ - aspell \ - ca-certificates \ - php82 \ - php82-imap \ - php82-dom \ - php82-json \ - php82-xml \ - php82-session \ - php82-pdo \ - php82-pdo_pgsql \ - php82-sockets \ - php82-exif \ - php82-iconv \ - php82-openssl \ - php82-mbstring \ - php82-sockets \ - php82-zip \ - php82-pspell \ - php82-pecl-apcu \ - php82-gd \ - php82-ctype \ - php82-xmlreader \ - php82-xmlwriter \ - php82-tokenizer \ - php82-curl \ - php82-simplexml \ - php82-xml \ - php82-dom \ - php82-intl - -COPY --from=builder --chown=nginx:nginx /var/lib/roundcube /var/lib/roundcube - -ADD /rootfs / - -EXPOSE 8080 - -ENV FPMUSER nginx -ENV FPMGROUP nginx