Dockerfile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. FROM php:7.1-apache
  2. COPY . /elgg-docker/
  3. COPY docker_config/php.ini /usr/local/etc/php/
  4. RUN apt-get update && apt-get install -y \
  5. libfreetype6-dev \
  6. libjpeg62-turbo-dev \
  7. libmcrypt-dev \
  8. libpng12-dev \
  9. netcat \
  10. mysql-client \
  11. wget \
  12. unzip
  13. # Elgg requirements
  14. RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
  15. RUN docker-php-ext-install gd
  16. RUN docker-php-ext-install pdo pdo_mysql
  17. RUN docker-php-ext-install mbstring
  18. RUN chmod +x /elgg-docker/composer-install.sh && /elgg-docker/composer-install.sh
  19. WORKDIR /var/www/html/
  20. #Configs apache
  21. RUN a2enmod rewrite
  22. #Set time zone in server
  23. ENV TIMEZONE="America/Sao_Paulo"
  24. RUN cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime
  25. #Set time zone in PHP
  26. RUN sed -i "s#{{timezone}}#$TIMEZONE#g" /usr/local/etc/php/php.ini
  27. # Database
  28. ENV ELGG_DB_HOST=${ELGG_DB_HOST:-"mysql"}
  29. ENV ELGG_DB_USER=$MYSQL_USER
  30. ENV ELGG_DB_PASS=$MYSQL_PASS
  31. ENV ELGG_DB_NAME=${ELGG_DB_NAME:-"elgg"}
  32. ENV ELGG_DB_PORT=${MYSQL_PORT:-"3306"}
  33. ENV ELGG_DB_PREFIX=${ELGG_DB_PREFIX:-"elgg_"}
  34. # Elgg admin account
  35. ENV ELGG_DISPLAY_NAME=${ELGG_DISPLAY_NAME:-"Admin"}
  36. ENV ELGG_EMAIL=${ELGG_EMAIL:-"admin@myelgg.com"}
  37. ENV ELGG_USERNAME=${ELGG_USERNAME:-"admin"}
  38. ENV ELGG_PASSWORD=${ELGG_PASSWORD:-"admin-pass"}
  39. ENV ELGG_SITE_NAME=${ELGG_SITE_NAME:-"Elgg Site"}
  40. ENV ELGG_DATA_ROOT=${ELGG_DATA_ROOT:-"/media/elgg/"}
  41. ENV ELGG_WWW_ROOT=${ELGG_WWW_ROOT:-"http://localhost:8000"}
  42. ENV ELGG_SITE_ACCESS=${ELGG_SITE_ACCESS:-"2"}
  43. ENV ELGG_PATH=${ELGG_PATH:-"/var/www/html/"}
  44. RUN chmod +x /elgg-docker/elgg-install.sh