75 lines
3.2 KiB

  1. ## copy of 'php:7.3-apache' image
  2. ## XXXvlab: will need to move towards separate apache and php, so that nginx can
  3. ## replace apache in all conf.
  4. FROM docker.0k.io/php:7.4.13-apache
  5. ## Limesurvey
  6. # RUN apt-get update && \
  7. # DEBIAN_FRONTEND=noninteractive apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-dev && \
  8. # apt-get clean && \
  9. # rm -rf /var/lib/apt/lists/* && \
  10. # docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
  11. # docker-php-ext-install gd pdo_mysql mbstring
  12. ## Formanoo_nfo
  13. # RUN apt-get update && \
  14. # DEBIAN_FRONTEND=noninteractive apt-get install -y libpq-dev && \
  15. # apt-get clean && \
  16. # rm -rf /var/lib/apt/lists/*
  17. # RUN docker-php-ext-install pgsql pdo_pgsql
  18. ## Framadate
  19. RUN apt-get update && \
  20. DEBIAN_FRONTEND=noninteractive apt-get install -y libonig-dev libicu-dev libpq-dev libxml2-dev && \
  21. apt-get clean && \
  22. rm -rf /var/lib/apt/lists/* && \
  23. docker-php-ext-install mbstring intl xml pdo_pgsql
  24. ## Piwigo
  25. RUN apt-get update && \
  26. DEBIAN_FRONTEND=noninteractive apt-get install -y libexif-dev libexif12 libfreetype6-dev libjpeg62-turbo-dev libpng-dev && \
  27. apt-get clean && \
  28. rm -rf /var/lib/apt/lists/* && \
  29. docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ && \
  30. docker-php-ext-install exif gd pdo_mysql mysqli
  31. ## gogocarto
  32. RUN apt-get update && \
  33. BUILD_PACKAGES=" \
  34. libbz2-dev libc-client-dev libcurl4-openssl-dev libfreetype6-dev \
  35. libgd-dev libicu-dev libkrb5-dev libmagickcore-dev libmagickwand-dev \
  36. libmcrypt-dev libmemcached-dev libtidy-dev libxml2-dev libxslt-dev \
  37. libz-dev libzip-dev libonig-dev" && \
  38. DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
  39. bzip2 cron g++ gettext git gnupg imagemagick libfreetype6 libgd3 \
  40. libmcrypt4 libmemcached11 libmemcachedutil2 libsodium23 libtidy5deb1 \
  41. libxml2 libxslt1.1 libzip4 nano openssl unzip ${BUILD_PACKAGES} && \
  42. docker-php-ext-configure gd --with-freetype=/usr/include/ \
  43. --with-jpeg=/usr/include/ && \
  44. docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
  45. docker-php-ext-configure hash --with-mhash && \
  46. docker-php-ext-install bcmath bz2 calendar dba curl exif gd gettext \
  47. imap intl soap tidy xmlrpc mbstring simplexml xsl zip && \
  48. pecl install mongodb && docker-php-ext-enable mongodb && \
  49. pecl install xdebug && docker-php-ext-enable xdebug && \
  50. pecl install imagick && docker-php-ext-enable imagick && \
  51. MODULES="rewrite headers ssl" && \
  52. for module in ${MODULES}; do \
  53. a2enmod "$module"; \
  54. done && \
  55. apt-get remove -qq --purge -y ${BUILD_PACKAGES} && \
  56. apt-get autoremove -y && \
  57. apt-get clean && \
  58. rm -rf /var/lib/apt/lists/*
  59. ## XXXvlab: could load these in 'entrypoint.sh' to be more dynamic
  60. RUN a2enmod headers proxy_http rewrite ssl proxy_wstunnel http2 proxy_connect
  61. ## Can remove this when SSL certificate are all valid ones
  62. RUN apt-get update && apt-get install -y --force-yes ssl-cert
  63. COPY entrypoint.sh /entrypoint.sh
  64. ENTRYPOINT [ "/entrypoint.sh" ]