Dockerfile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. FROM php:5.6-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. # Elgg requirements
  12. RUN docker-php-ext-install pdo pdo_mysql mysql
  13. RUN docker-php-ext-install mbstring gd
  14. WORKDIR /var/www/html/
  15. #Configs apache
  16. RUN a2enmod rewrite
  17. #Set time zone in server
  18. ENV TIMEZONE="America/Sao_Paulo"
  19. RUN cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime
  20. #Set time zone in PHP
  21. RUN sed -i "s#{{timezone}}#$TIMEZONE#g" /usr/local/etc/php/php.ini
  22. # set defaults or env vars for Elgg and MySQL
  23. # MySQL
  24. ENV MYSQL_USER=${MYSQL_USER:-"root"}
  25. ENV MYSQL_PASS=${MYSQL_PASS:-"root-pass"}
  26. ENV MYSQL_PORT=${MYSQL_PORT:-"3306"}
  27. # required for installation
  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_SITE_NAME=${ELGG_SITE_NAME:-"Elgg Site"}
  33. ENV ELGG_DATA_ROOT=${ELGG_DATA_ROOT:-"/media/elgg/"}
  34. ENV ELGG_WWW_ROOT=${ELGG_WWW_ROOT:-"http://localhost:8000"}
  35. # admin user setup
  36. ENV ELGG_DISPLAY_NAME=${ELGG_DISPLAY_NAME:-"Admin"}
  37. ENV ELGG_EMAIL=${ELGG_EMAIL:-"admin@myelgg.org"}
  38. ENV ELGG_USERNAME=${ELGG_USERNAME:-"admin"}
  39. ENV ELGG_PASSWORD=${ELGG_PASSWORD:-"admin-pass"}
  40. # optional for installation
  41. ENV ELGG_DB_PREFIX=${ELGG_DB_PREFIX:-"elgg_"}
  42. ENV ELGG_PATH=${ELGG_PATH:-"/var/www/html/"}
  43. # 2 is ACCESS_PUBLIC
  44. ENV ELGG_SITE_ACCESS=${ELGG_SITE_ACCESS:-"2"}
  45. RUN chmod +x /elgg-docker/elgg-install.sh