Dockerfile 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. FROM cloudron/base:0.10.0
  2. MAINTAINER Johannes Zellner <johannes@cloudron.io>
  3. RUN mkdir -p /app/code /run/app/sessions
  4. WORKDIR /app/code
  5. RUN apt-get update && apt-get install -y php libapache2-mod-php crudini \
  6. php-redis \
  7. php-bcmath \
  8. php-bz2 \
  9. php-curl \
  10. php-date \
  11. php-dba \
  12. php-enchant \
  13. php-gd \
  14. php-geoip \
  15. php-gettext \
  16. php-imap \
  17. php-json \
  18. php-log \
  19. php-mbstring \
  20. php-mcrypt \
  21. php-mime-type \
  22. php-mysql \
  23. php-pdfparser \
  24. php-readline \
  25. php-soap \
  26. php-sql-formatter \
  27. php-sqlite3 \
  28. php-tcpdf \
  29. php-timer \
  30. php-twig \
  31. php-uuid \
  32. php-validate \
  33. php-xml \
  34. php-xml-parser \
  35. php-xml-svg \
  36. php-yac \
  37. php-zip \
  38. && rm -r /var/cache/apt /var/lib/apt/lists
  39. # configure apache
  40. RUN rm /etc/apache2/sites-enabled/*
  41. RUN sed -e 's,^ErrorLog.*,ErrorLog "|/bin/cat",' -i /etc/apache2/apache2.conf
  42. RUN sed -e "s,MaxSpareServers[^:].*,MaxSpareServers 5," -i /etc/apache2/mods-available/mpm_prefork.conf
  43. RUN a2disconf other-vhosts-access-log
  44. RUN echo "Listen 8000" > /etc/apache2/ports.conf
  45. RUN ln -sf /app/data/apache2-app.conf /etc/apache2/sites-available/app.conf
  46. RUN ln -sf /etc/apache2/sites-available/app.conf /etc/apache2/sites-enabled/app.conf
  47. RUN a2enmod rewrite dav dav_fs authnz_ldap
  48. # configure mod_php
  49. RUN crudini --set /etc/php/7.0/apache2/php.ini PHP upload_max_filesize 8M && \
  50. crudini --set /etc/php/7.0/apache2/php.ini PHP post_max_size 8M && \
  51. crudini --set /etc/php/7.0/apache2/php.ini PHP memory_limit 64M && \
  52. crudini --set /etc/php/7.0/apache2/php.ini Session session.save_path /run/app/sessions
  53. RUN mv /etc/php/7.0/apache2/php.ini /etc/php/7.0/apache2/php.ini.orig && ln -sf /app/data/php.ini /etc/php/7.0/apache2/php.ini
  54. ADD apache2-app.conf /app/code/apache2-app.conf
  55. ADD index.html /app/code/index.html
  56. ADD start.sh /app/code/start.sh
  57. # make cloudron exec sane
  58. WORKDIR /app/data
  59. CMD [ "/app/code/start.sh" ]