Von Lars, 1 Jahr vorher, geschrieben in Bash.
Einbetten
  1. FROM nextcloud:16.0.3-apache
  2.  
  3. RUN set -ex; \
  4.     \
  5.     apt-get update; \
  6.     apt-get install -y --no-install-recommends \
  7.         ffmpeg \
  8.         libmagickcore-6.q16-3-extra \
  9.         procps \
  10.         smbclient \
  11.         supervisor \
  12. #       libreoffice \
  13.     ; \
  14.     rm -rf /var/lib/apt/lists/*
  15.  
  16. RUN set -ex; \
  17.     \
  18.     savedAptMark="$(apt-mark showmanual)"; \
  19.     \
  20.     apt-get update; \
  21.     apt-get install -y --no-install-recommends \
  22.         libbz2-dev \
  23.         libc-client-dev \
  24.         libkrb5-dev \
  25.         libsmbclient-dev \
  26.     ; \
  27.     \
  28.     docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
  29.     docker-php-ext-install \
  30.         bz2 \
  31.         imap \
  32.     ; \
  33.     pecl install smbclient; \
  34.     docker-php-ext-enable smbclient; \
  35.     \
  36. # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
  37.     apt-mark auto '.*' > /dev/null; \
  38.     apt-mark manual $savedAptMark; \
  39.     ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
  40.         | awk '/=>/ { print $3 }' \
  41.         | sort -u \
  42.         | xargs -r dpkg-query -S \
  43.         | cut -d: -f1 \
  44.         | sort -u \
  45.         | xargs -rt apt-mark manual; \
  46.     \
  47.     apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
  48.     rm -rf /var/lib/apt/lists/*
  49.  
  50. RUN apt-get update ; \
  51.     apt-get install -y build-essential wget cmake libx11-dev libopenblas-dev
  52.  
  53. RUN wget -c -q https://github.com/davisking/dlib/archive/v19.18.tar.gz \
  54.     && tar xf v19.18.tar.gz \
  55.     && mv dlib-* dlib \
  56.     && cd dlib/dlib \
  57.     && mkdir build \
  58.     && cd build \
  59.     && cmake -DBUILD_SHARED_LIBS=ON --config Release .. \
  60.     && make \
  61.     && make install
  62.  
  63.  
  64. RUN apt-get install unzip
  65.  
  66. ARG PDLIB_BRANCH=master
  67.  
  68. RUN wget -c -q https://github.com/goodspb/pdlib/archive/$PDLIB_BRANCH.zip \
  69.     && unzip $PDLIB_BRANCH \
  70.     && mv pdlib-* pdlib \
  71.     && cd pdlib \
  72.     && phpize \
  73.     && ./configure \
  74.     && make \
  75.     && make install
  76.  
  77.  
  78. RUN echo "extension=pdlib.so" > /usr/local/etc/php/conf.d/pdlib.ini
  79.  
  80. RUN echo memory_limit=1024M > /usr/local/etc/php/conf.d/memory-limit.ini
  81.  
  82. RUN mkdir -p \
  83.     /var/log/supervisord \
  84.     /var/run/supervisord \
  85. ;
  86.  
  87. COPY supervisord.conf /etc/supervisor/supervisord.conf
  88.  
  89. ENV NEXTCLOUD_UPDATE=1
  90.  
  91. CMD ["/usr/bin/supervisord"]
captcha