From 2248fc1abee2471a35ca61f1218f208026b50ca1 Mon Sep 17 00:00:00 2001 From: Andreas Zweili Date: Tue, 14 Apr 2020 20:55:16 +0200 Subject: [PATCH] extend the nextcloud config --- nextcloud/README.md | 7 ++++ nextcloud/nextcloud/Dockerfile | 59 ++++++++++++++++++++++++++++ nextcloud/nextcloud/supervisord.conf | 22 +++++++++++ 3 files changed, 88 insertions(+) create mode 100644 nextcloud/README.md create mode 100644 nextcloud/nextcloud/Dockerfile create mode 100644 nextcloud/nextcloud/supervisord.conf diff --git a/nextcloud/README.md b/nextcloud/README.md new file mode 100644 index 0000000..5c6265b --- /dev/null +++ b/nextcloud/README.md @@ -0,0 +1,7 @@ +# Nextcloud + +This configuration inlcudes a custom Dockerfile because the main project, for +some reason, doesn't include SMB support in their main image. + +The process for starting is the same as usual however: +`sudo docker-compose up -d` diff --git a/nextcloud/nextcloud/Dockerfile b/nextcloud/nextcloud/Dockerfile new file mode 100644 index 0000000..92136e9 --- /dev/null +++ b/nextcloud/nextcloud/Dockerfile @@ -0,0 +1,59 @@ +ROM nextcloud:apache + +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; \ + 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"] diff --git a/nextcloud/nextcloud/supervisord.conf b/nextcloud/nextcloud/supervisord.conf new file mode 100644 index 0000000..836a08a --- /dev/null +++ b/nextcloud/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