Dockerfile 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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 php7.0-zip crudini php7.0-soap && \
  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.8.2.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 mkdir -p /run/wordpress/sessions && \
  14. ln -sf /run/wordpress/wp-config.php /app/code/wp-config.php
  15. RUN curl -L -o /app/code/wp https://github.com/wp-cli/wp-cli/releases/download/v1.1.0/wp-cli-1.1.0.phar
  16. RUN chmod +x /app/code/wp
  17. RUN /bin/echo -e "apache_modules:\n - mod_rewrite" > /app/code/wp-cli.yml
  18. # Get the plugins
  19. RUN curl -L -o /app/code/authLdap.zip https://github.com/heiglandreas/authLdap/archive/1.5.1.zip
  20. RUN curl -L -o /app/code/disable-wordpress-core-update.zip https://downloads.wordpress.org/plugin/disable-wordpress-core-update.zip
  21. RUN curl -L -o /app/code/wp-mail-smtp.zip https://downloads.wordpress.org/plugin/wp-mail-smtp.0.10.1.zip
  22. RUN chown -R www-data:www-data /app/code
  23. # configure apache
  24. RUN rm /etc/apache2/sites-enabled/*
  25. RUN sed -e 's,^ErrorLog.*,ErrorLog "|/bin/cat",' -i /etc/apache2/apache2.conf
  26. RUN sed -e "s,MaxSpareServers[^:].*,MaxSpareServers 5," -i /etc/apache2/mods-available/mpm_prefork.conf
  27. RUN a2disconf other-vhosts-access-log
  28. ADD apache2-wordpress.conf /etc/apache2/sites-available/wordpress.conf
  29. RUN ln -sf /etc/apache2/sites-available/wordpress.conf /etc/apache2/sites-enabled/wordpress.conf
  30. RUN echo "Listen 8000" > /etc/apache2/ports.conf
  31. # configure mod_php
  32. RUN a2enmod rewrite
  33. RUN crudini --set /etc/php/7.0/apache2/php.ini PHP upload_max_filesize 500M && \
  34. crudini --set /etc/php/7.0/apache2/php.ini PHP post_max_size 500M && \
  35. crudini --set /etc/php/7.0/apache2/php.ini PHP max_input_vars 1800 && \
  36. crudini --set /etc/php/7.0/apache2/php.ini Session session.save_path /run/wordpress/sessions && \
  37. crudini --set /etc/php/7.0/apache2/php.ini Session session.gc_probability 1 && \
  38. crudini --set /etc/php/7.0/apache2/php.ini Session session.gc_divisor 100
  39. RUN mv /etc/php/7.0/apache2/php.ini /etc/php/7.0/apache2/php.ini.orig && ln -sf /run/php.ini /etc/php/7.0/apache2/php.ini
  40. ADD start.sh /app/code/start.sh
  41. CMD [ "/app/code/start.sh" ]