Dockerfile 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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.5.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.template
  28. RUN ln -sf /run/wordpress/mpm_prefork.conf /etc/apache2/mods-available/mpm_prefork.conf
  29. RUN a2disconf other-vhosts-access-log
  30. ADD apache/wordpress.conf /etc/apache2/sites-enabled/wordpress.conf
  31. RUN echo "Listen 8000" > /etc/apache2/ports.conf
  32. # configure mod_php. apache2ctl -M can be used to list enabled modules
  33. RUN a2enmod rewrite && \
  34. a2enmod expires && \
  35. a2enmod headers && \
  36. a2enmod cache
  37. RUN crudini --set /etc/php/7.0/apache2/php.ini PHP upload_max_filesize 500M && \
  38. crudini --set /etc/php/7.0/apache2/php.ini PHP post_max_size 500M && \
  39. crudini --set /etc/php/7.0/apache2/php.ini PHP max_input_vars 1800 && \
  40. crudini --set /etc/php/7.0/apache2/php.ini Session session.save_path /run/wordpress/sessions && \
  41. crudini --set /etc/php/7.0/apache2/php.ini Session session.gc_probability 1 && \
  42. crudini --set /etc/php/7.0/apache2/php.ini Session session.gc_divisor 100
  43. RUN cp /etc/php/7.0/apache2/php.ini /etc/php/7.0/cli/php.ini
  44. # Hack to stop sendmail/postfix to keep retrying sending emails because of rofs
  45. RUN rm -rf /var/spool
  46. ADD start.sh cron.sh /app/code/
  47. CMD [ "/app/code/start.sh" ]