146 lines
3.9 KiB
Docker
146 lines
3.9 KiB
Docker
FROM php:7-fpm-alpine
|
|
|
|
RUN docker-php-source extract && \
|
|
apk --no-cache add \
|
|
php7 \
|
|
php7-fpm \
|
|
php7-opcache \
|
|
php7-pecl-apcu \
|
|
php7-mysqli \
|
|
php7-pgsql \
|
|
php7-json \
|
|
php7-openssl \
|
|
php7-curl \
|
|
php7-zlib \
|
|
php7-soap \
|
|
php7-xml \
|
|
php7-fileinfo \
|
|
php7-phar \
|
|
php7-intl \
|
|
php7-dom \
|
|
php7-xmlreader \
|
|
php7-ctype \
|
|
php7-session \
|
|
php7-iconv \
|
|
php7-tokenizer \
|
|
php7-xmlrpc \
|
|
php7-zip \
|
|
php7-simplexml \
|
|
php7-mbstring \
|
|
php7-gd \
|
|
nginx \
|
|
runit \
|
|
curl \
|
|
# php7-pdo \
|
|
# php7-pdo_pgsql \
|
|
# php7-pdo_mysql \
|
|
# php7-pdo_sqlite \
|
|
# php7-bz2 \
|
|
&& docker-php-source delete
|
|
|
|
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
|
|
|
|
|
# Add application
|
|
WORKDIR /var/www/html
|
|
|
|
# Expose the port nginx is reachable on
|
|
EXPOSE 8080
|
|
|
|
# Let runit start nginx & php-fpm
|
|
CMD [ "/bin/docker-entrypoint.sh" ]
|
|
|
|
# Configure a healthcheck to validate that everything is up&running
|
|
HEALTHCHECK --timeout=10s CMD curl --silent --fail http://127.0.0.1:8080/fpm-ping
|
|
|
|
ENV client_max_body_size=2M \
|
|
clear_env=no \
|
|
allow_url_fopen=On \
|
|
allow_url_include=Off \
|
|
display_errors=Off \
|
|
file_uploads=On \
|
|
max_execution_time=0 \
|
|
max_input_time=-1 \
|
|
max_input_vars=1000 \
|
|
memory_limit=128M \
|
|
post_max_size=8M \
|
|
upload_max_filesize=2M \
|
|
zlib.output_compression=On
|
|
|
|
ARG ARCH=
|
|
#FROM ${ARCH}erseco/alpine-php7-webserver AS base
|
|
FROM base-php7
|
|
LABEL maintainer="Ernesto Serrano <info@ernesto.es>"
|
|
|
|
#USER root
|
|
COPY rootfs /
|
|
#COPY 02-configure-moodle.sh docker-entrypoint-init.d/02-configure-moodle.sh
|
|
#COPY --chown=nobody rootfs/ /
|
|
|
|
# crond needs root, so install dcron and cap package and set the capabilities
|
|
# on dcron binary https://github.com/inter169/systs/blob/master/alpine/crond/README.md
|
|
RUN apk add --no-cache dcron libcap && \
|
|
# chown nobody:nobody /usr/sbin/crond && \
|
|
setcap cap_setgid=ep /usr/sbin/crond
|
|
|
|
#USER nobody
|
|
|
|
# Change MOODLE_38_STABLE for new versions
|
|
ENV MOODLE_URL=https://github.com/moodle/moodle/archive/MOODLE_310_STABLE.tar.gz \
|
|
LANG=en_US.UTF-8 \
|
|
LANGUAGE=en_US:en \
|
|
SITE_URL=http://localhost \
|
|
DB_TYPE=pgsql \
|
|
DB_HOST=postgres \
|
|
DB_PORT=5432 \
|
|
DB_NAME=moodle \
|
|
DB_USER=moodle \
|
|
DB_PASS=moodle \
|
|
DB_PREFIX=mdl_ \
|
|
SSLPROXY=false \
|
|
MOODLE_EMAIL=user@example.com \
|
|
MOODLE_LANGUAGE=en \
|
|
MOODLE_SITENAME=New-Site \
|
|
MOODLE_USERNAME=moodleuser \
|
|
MOODLE_PASSWORD=PLEASE_CHANGEME \
|
|
SMTP_HOST=smtp.gmail.com \
|
|
SMTP_PORT=587 \
|
|
SMTP_USER=your_email@gmail.com \
|
|
SMTP_PASSWORD=your_password \
|
|
SMTP_PROTOCOL=tls \
|
|
MOODLE_MAIL_NOREPLY_ADDRESS=noreply@localhost \
|
|
MOODLE_MAIL_PREFIX=[moodle] \
|
|
client_max_body_size=50M \
|
|
post_max_size=50M \
|
|
upload_max_filesize=50M \
|
|
max_input_vars=1000
|
|
|
|
#USER nobody
|
|
|
|
#RUN curl --location $MOODLE_URL | tar xz --strip-components=1 -C /var/www/html/
|
|
|
|
#FROM erseco/alpine-moodle
|
|
|
|
|
|
#FROM base
|
|
#USER root
|
|
#RUN chmod a+rwx -R /var/www/html
|
|
#USER nobody
|
|
|
|
#RUN curl --location https://moodle.org/plugins/download.php/23298/auth_oidc_moodle310_2020110900.zip > auth_oidc.zip
|
|
#RUN unzip auth_oidc.zip -d /var/www/html/auth/
|
|
#RUN rm auth_oidc.zip
|
|
|
|
#RUN curl --location https://moodle.org/plugins/download.php/23360/mod_jitsi_moodle310_2021020300.zip > jitsi.zip
|
|
#RUN unzip jitsi.zip -d /var/www/html/mod/
|
|
#RUN rm jitsi.zip
|
|
|
|
#RUN curl --location https://moodle.org/plugins/download.php/23294/mod_bigbluebuttonbn_moodle310_2019101004.zip > bbb.zip
|
|
#RUN unzip bbb.zip -d /var/www/html/mod/
|
|
#RUN rm bbb.zip
|
|
|
|
#ADD plugins/auth_saml2.zip /var/www/html/
|
|
#RUN curl --location https://moodle.org/plugins/download.php/20505/auth_saml2_moodle37_2019110701.zip > auth_saml2.zip
|
|
#RUN unzip auth_saml2.zip -d /var/www/html/auth/
|
|
#RUN rm auth_saml2.zip
|