Dockerfile 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. FROM cloudron/base:0.10.0
  2. MAINTAINER Girish Ramakrishnan <girish@cloudron.io>
  3. # this can be removed in next base image update
  4. RUN apt-get update && \
  5. apt-get install -y php-mbstring php-zip crudini php-soap php-imap zip && \
  6. rm -rf /var/cache/apt /var/lib/apt/lists
  7. RUN mkdir -p /app/code
  8. WORKDIR /app/code
  9. RUN curl -L http://wordpress.org/wordpress-4.9.4.tar.gz | tar -xz --strip-components 1 -f -
  10. RUN mv /app/code/wp-content /app/code/wp-content-vanilla && ln -s /app/data/wp-content /app/code/wp-content
  11. RUN ln -s /app/data/htaccess /app/code/.htaccess
  12. ADD wp-config.php.template /app/code/wp-config.php.template
  13. RUN ln -sf /run/wordpress/wp-config.php /app/code/wp-config.php
  14. RUN curl -L -o /app/code/wp https://github.com/wp-cli/wp-cli/releases/download/v1.4.1/wp-cli-1.4.1.phar
  15. RUN chmod +x /app/code/wp
  16. RUN /bin/echo -e "apache_modules:\n - mod_rewrite" > /app/code/wp-cli.yml
  17. # Get the plugins
  18. RUN curl -L -o /app/code/authLdap.zip https://github.com/heiglandreas/authLdap/archive/1.5.1.zip
  19. # https://plugins.svn.wordpress.org/disable-wordpress-core-update/
  20. RUN curl -L -o /app/code/disable-wordpress-core-update.zip https://downloads.wordpress.org/plugin/disable-wordpress-core-update.zip
  21. # https://plugins.svn.wordpress.org/wp-mail-smtp/
  22. RUN curl -L -o /app/code/wp-mail-smtp.zip https://downloads.wordpress.org/plugin/wp-mail-smtp.0.10.1.zip
  23. RUN chown -R www-data:www-data /app/code
  24. # configure apache
  25. RUN rm /etc/apache2/sites-enabled/*
  26. RUN sed -e 's,^ErrorLog.*,ErrorLog "|/bin/cat",' -i /etc/apache2/apache2.conf
  27. COPY apache/mpm_prefork.conf /etc/apache2/mods-available/mpm_prefork.conf
  28. RUN a2disconf other-vhosts-access-log
  29. ADD apache/wordpress.conf /etc/apache2/sites-enabled/wordpress.conf
  30. RUN echo "Listen 8000" > /etc/apache2/ports.conf
  31. # configure mod_php. apache2ctl -M can be used to list enabled modules
  32. RUN a2enmod rewrite && \
  33. a2enmod expires && \
  34. a2enmod headers && \
  35. a2enmod cache
  36. RUN crudini --set /etc/php/7.0/apache2/php.ini PHP upload_max_filesize 500M && \
  37. crudini --set /etc/php/7.0/apache2/php.ini PHP post_max_size 500M && \
  38. crudini --set /etc/php/7.0/apache2/php.ini PHP max_input_vars 1800 && \
  39. crudini --set /etc/php/7.0/apache2/php.ini Session session.save_path /run/wordpress/sessions && \
  40. crudini --set /etc/php/7.0/apache2/php.ini Session session.gc_probability 1 && \
  41. crudini --set /etc/php/7.0/apache2/php.ini Session session.gc_divisor 100
  42. RUN cp /etc/php/7.0/apache2/php.ini /etc/php/7.0/cli/php.ini
  43. # Hack to stop sendmail/postfix to keep retrying sending emails because of rofs
  44. RUN rm -rf /var/spool
  45. ADD start.sh cron.sh /app/code/
  46. CMD [ "/app/code/start.sh" ]