From e10cfa28fe8f286d5209b0dc858298a117006c0f Mon Sep 17 00:00:00 2001 From: Udo Waechter Date: Wed, 23 Jun 2021 18:25:11 +0200 Subject: [PATCH] nextcloud full with supervisord and cron --- apps/nextcloud/Dockerfile | 65 +++++++++++++++++++++++++++++++-- apps/nextcloud/supervisord.conf | 22 +++++++++++ 2 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 apps/nextcloud/supervisord.conf diff --git a/apps/nextcloud/Dockerfile b/apps/nextcloud/Dockerfile index 30bc942..06ab2d7 100644 --- a/apps/nextcloud/Dockerfile +++ b/apps/nextcloud/Dockerfile @@ -6,10 +6,7 @@ ENV NEXTCLOUD_UPDATE=1 RUN sed -i 's@deb.debian.org@apt-cache.lan/deb.debian.org@g' /etc/apt/sources.list && \ sed -i 's@security.debian.org@apt-cache.lan/security.debian.org@g' /etc/apt/sources.list && \ apt-get update && apt-get install -y \ - vim screen dnsutils procps nmap bash iputils-ping bash && \ - apt-get clean -y && \ - rm -rf /var/lib/apt/lists/* && \ - rm -rf /var/cache/apt/* + vim screen dnsutils procps nmap bash iputils-ping bash RUN touch /usr/src/nextcloud/data/.ocdata COPY config.php /usr/src/nextcloud/config/ @@ -22,3 +19,63 @@ RUN mv /usr/src/nextcloud/config/.htaccess /usr/src/nextcloud/config/.htaccess.b COPY post-start.sh / RUN chmod +x /post-start.sh + +RUN set -ex; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + ffmpeg \ + libmagickcore-6.q16-6-extra \ + procps \ + smbclient \ + supervisor \ +# libreoffice \ + ; \ + rm -rf /var/lib/apt/lists/* + +RUN set -ex; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libbz2-dev \ + libc-client-dev \ + libkrb5-dev \ + libsmbclient-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; \ + \ +# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark; \ + ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ + | awk '/=>/ { print $3 }' \ + | sort -u \ + | xargs -r dpkg-query -S \ + | cut -d: -f1 \ + | sort -u \ + | xargs -rt apt-mark manual; \ + \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + apt-get clean -y; \ + rm -rf /var/cache/apt/*; \ + rm -rf /var/lib/apt/lists/* + +RUN mkdir -p \ + /var/log/supervisord \ + /var/run/supervisord \ +; + +COPY supervisord.conf / + +ENV NEXTCLOUD_UPDATE=1 + +CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"] \ No newline at end of file diff --git a/apps/nextcloud/supervisord.conf b/apps/nextcloud/supervisord.conf new file mode 100644 index 0000000..40757b2 --- /dev/null +++ b/apps/nextcloud/supervisord.conf @@ -0,0 +1,22 @@ +[supervisord] +nodaemon=true +logfile=/var/log/supervisord/supervisord.log +pidfile=/var/run/supervisord/supervisord.pid +childlogdir=/var/log/supervisord/ +logfile_maxbytes=50MB ; maximum size of logfile before rotation +logfile_backups=10 ; number of backed up logfiles +loglevel=error + +[program:apache2] +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 +command=apache2-foreground + +[program:cron] +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 +command=/cron.sh \ No newline at end of file