summaryrefslogtreecommitdiffstats
path: root/.examples
diff options
context:
space:
mode:
authorJ0WI <J0WI@users.noreply.github.com>2019-01-05 18:43:27 +0100
committerJ0WI <J0WI@users.noreply.github.com>2019-01-05 18:43:27 +0100
commit0e941215b1b79929581cbbecdd79a544b50e4b9b (patch)
treec43f2ea637be9c0cb182d556391932e3d1148981 /.examples
parent030a743b397af22366598c2b9ca010a95120cc29 (diff)
Refactor install process and remove build deps
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
Diffstat (limited to '.examples')
-rw-r--r--.examples/dockerfiles/full/apache/Dockerfile61
-rw-r--r--.examples/dockerfiles/full/fpm/Dockerfile61
-rw-r--r--.examples/dockerfiles/imap/apache/Dockerfile31
-rw-r--r--.examples/dockerfiles/imap/fpm/Dockerfile31
4 files changed, 148 insertions, 36 deletions
diff --git a/.examples/dockerfiles/full/apache/Dockerfile b/.examples/dockerfiles/full/apache/Dockerfile
index 178ca844..fe82de23 100644
--- a/.examples/dockerfiles/full/apache/Dockerfile
+++ b/.examples/dockerfiles/full/apache/Dockerfile
@@ -1,23 +1,58 @@
FROM nextcloud:apache
-RUN mkdir -p /usr/share/man/man1 \
- && apt-get update && apt-get install -y \
- supervisor \
+RUN set -ex; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
ffmpeg \
+ 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 \
- libgmp3-dev \
libc-client-dev \
+ libgmp3-dev \
libkrb5-dev \
- smbclient \
libsmbclient-dev \
-# libreoffice \
- && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
- && ln -s "/usr/include/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)/gmp.h" /usr/include/gmp.h \
- && docker-php-ext-install bz2 gmp imap \
- && pecl install smbclient \
- && docker-php-ext-enable smbclient \
- && mkdir /var/log/supervisord /var/run/supervisord
+ ; \
+ \
+ docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
+ ln -s "/usr/include/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)/gmp.h" /usr/include/gmp.h; \
+ docker-php-ext-install \
+ bz2 \
+ gmp \
+ 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 \
+ /usr/share/man/man1 \
+ /var/log/supervisord \
+ /var/run/supervisord \
+;
COPY supervisord.conf /etc/supervisor/supervisord.conf
diff --git a/.examples/dockerfiles/full/fpm/Dockerfile b/.examples/dockerfiles/full/fpm/Dockerfile
index b0c61d64..3e53e597 100644
--- a/.examples/dockerfiles/full/fpm/Dockerfile
+++ b/.examples/dockerfiles/full/fpm/Dockerfile
@@ -1,23 +1,58 @@
FROM nextcloud:fpm
-RUN mkdir -p /usr/share/man/man1 \
- && apt-get update && apt-get install -y \
- supervisor \
+RUN set -ex; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
ffmpeg \
+ 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 \
- libgmp3-dev \
libc-client-dev \
+ libgmp3-dev \
libkrb5-dev \
- smbclient \
libsmbclient-dev \
-# libreoffice \
- && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
- && ln -s "/usr/include/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)/gmp.h" /usr/include/gmp.h \
- && docker-php-ext-install bz2 gmp imap \
- && pecl install smbclient \
- && docker-php-ext-enable smbclient \
- && mkdir /var/log/supervisord /var/run/supervisord
+ ; \
+ \
+ docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
+ ln -s "/usr/include/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)/gmp.h" /usr/include/gmp.h; \
+ docker-php-ext-install \
+ bz2 \
+ gmp \
+ 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 \
+ /usr/share/man/man1 \
+ /var/log/supervisord \
+ /var/run/supervisord \
+;
COPY supervisord.conf /etc/supervisor/supervisord.conf
diff --git a/.examples/dockerfiles/imap/apache/Dockerfile b/.examples/dockerfiles/imap/apache/Dockerfile
index f7958c08..5f24c756 100644
--- a/.examples/dockerfiles/imap/apache/Dockerfile
+++ b/.examples/dockerfiles/imap/apache/Dockerfile
@@ -1,7 +1,28 @@
FROM nextcloud:apache
-RUN apt-get update \
- && apt-get install -y libc-client-dev libkrb5-dev \
- && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
- && docker-php-ext-install imap
+RUN set -ex; \
+ \
+ savedAptMark="$(apt-mark showmanual)"; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ libc-client-dev \
+ libkrb5-dev \
+ ; \
+ \
+ docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
+ docker-php-ext-install imap; \
+ \
+# 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/*
diff --git a/.examples/dockerfiles/imap/fpm/Dockerfile b/.examples/dockerfiles/imap/fpm/Dockerfile
index b403de66..f692fd7a 100644
--- a/.examples/dockerfiles/imap/fpm/Dockerfile
+++ b/.examples/dockerfiles/imap/fpm/Dockerfile
@@ -1,7 +1,28 @@
FROM nextcloud:fpm
-RUN apt-get update \
- && apt-get install -y libc-client-dev libkrb5-dev \
- && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
- && docker-php-ext-install imap
+RUN set -ex; \
+ \
+ savedAptMark="$(apt-mark showmanual)"; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ libc-client-dev \
+ libkrb5-dev \
+ ; \
+ \
+ docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
+ docker-php-ext-install imap; \
+ \
+# 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/*