# # Copyright © 2021,2022 IsardVDI S.L. # Copyright © 2023 Evilham # # This file is part of DD # # DD is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or (at your # option) any later version. # # DD is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more # details. # # You should have received a copy of the GNU Affero General Public License # along with DD. If not, see . # # SPDX-License-Identifier: AGPL-3.0-or-later ARG IMG FROM ${IMG} RUN apk update RUN set -ex; \ \ apk add --no-cache \ ffmpeg \ procps \ samba-client \ supervisor \ ; # These are documented DD dependencies for nc-setup.sh # jq: to patch mimetypemapping # npm + composer: due to oddities installing forms plugin RUN set -ex; \ \ apk add --no-cache \ jq \ npm \ composer \ ; RUN apk update RUN apk add bash RUN apk add curl # INSTALL COMPOSER RUN curl -s https://getcomposer.org/installer | php RUN alias composer='php composer.phar' RUN set -ex; \ \ apk add --no-cache --virtual .build-deps \ $PHPIZE_DEPS \ imap-dev \ krb5-dev \ openssl-dev \ samba-dev \ bzip2-dev \ ; \ \ docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \ docker-php-ext-install \ bz2 \ imap \ ; \ pecl install smbclient; \ docker-php-ext-enable smbclient; \ \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \ | tr ',' '\n' \ | sort -u \ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ )"; \ apk add --virtual .nextcloud-phpext-rundeps $runDeps; \ apk del .build-deps # Temporary replacement for a real queue RUN echo '*/1 * * * * /nc-queue.sh' >> /etc/crontabs/www-data COPY nc-queue.sh / COPY nc-mail-update.sh / # DD plugins and other setup COPY nc-setup.sh / # SAML setup script COPY saml.sh / # Submission template COPY template.docx / ## Save current forms plugin hash RUN sh -c 'curl -sL https://api.github.com/repos/3iPunt/nextcloud_forms/commits/STABLE_25 | jq -r .sha > /forms.hash' ## And current forms code RUN sh -c 'curl -sL "https://github.com/3iPunt/nextcloud_forms/archive/$(cat /forms.hash).zip" > /forms.zip' # Setup cron as documented in: # https://github.com/nextcloud/docker/blob/master/.examples/dockerfiles/cron/fpm-alpine/Dockerfile RUN mkdir -p \ /var/log/supervisord \ /var/run/supervisord \ ; COPY supervisord.conf / ENV NEXTCLOUD_UPDATE=1 CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]