Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 590206524c | |||
| c0e6b9e5d9 | |||
| 60e731b6fd |
+26
-32
@@ -4,6 +4,10 @@ FROM php:7.4-apache
|
||||
RUN apt-get update && apt-get install -y \
|
||||
git \
|
||||
unzip \
|
||||
nano \
|
||||
curl \
|
||||
wget \
|
||||
cron \
|
||||
libpng-dev \
|
||||
libjpeg-dev \
|
||||
libfreetype6-dev \
|
||||
@@ -17,18 +21,16 @@ RUN apt-get update && apt-get install -y \
|
||||
libssl-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libpq-dev \
|
||||
nano \
|
||||
curl \
|
||||
wget \
|
||||
cron \
|
||||
libmagickwand-dev --no-install-recommends
|
||||
libmagickwand-dev \
|
||||
--no-install-recommends \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Enable Apache mods
|
||||
RUN a2enmod rewrite headers
|
||||
# Install PHP extensions (fast method)
|
||||
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
||||
|
||||
# Install PHP extensions required by Moodle
|
||||
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
|
||||
&& docker-php-ext-install -j$(nproc) \
|
||||
RUN chmod +x /usr/local/bin/install-php-extensions
|
||||
|
||||
RUN install-php-extensions \
|
||||
gd \
|
||||
intl \
|
||||
mbstring \
|
||||
@@ -36,50 +38,42 @@ RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
|
||||
xmlrpc \
|
||||
soap \
|
||||
zip \
|
||||
pdo \
|
||||
pdo_mysql \
|
||||
opcache \
|
||||
mysqli \
|
||||
opcache \
|
||||
xsl \
|
||||
curl \
|
||||
exif
|
||||
exif \
|
||||
redis \
|
||||
imagick
|
||||
|
||||
# Download and install Moosh
|
||||
# Enable Apache mods
|
||||
RUN a2enmod rewrite headers
|
||||
|
||||
# Install Moosh
|
||||
RUN cd /opt && \
|
||||
wget https://moodle.org/plugins/download.php/33902/moosh_moodle45_2024111400.zip && \
|
||||
unzip moosh_moodle45_2024111400.zip && \
|
||||
ln -s /opt/moosh/moosh.php /usr/local/bin/moosh && \
|
||||
rm moosh_moodle45_2024111400.zip # Clean up zip file
|
||||
rm moosh_moodle45_2024111400.zip
|
||||
|
||||
|
||||
# Install Redis extension
|
||||
RUN pecl install redis && \
|
||||
docker-php-ext-enable redis
|
||||
|
||||
# Optional: Install and enable Imagick (used by Moodle for better image processing)
|
||||
RUN pecl install imagick && docker-php-ext-enable imagick
|
||||
|
||||
# Set recommended PHP configuration values for Moodle
|
||||
# PHP config
|
||||
COPY moodle-php.ini /usr/local/etc/php/conf.d/moodle-php.ini
|
||||
|
||||
# Create moodledata directory
|
||||
# Moodle data dir
|
||||
RUN mkdir -p /var/www/moodledata && \
|
||||
chown -R www-data:www-data /var/www/moodledata && \
|
||||
chmod -R 770 /var/www/moodledata
|
||||
|
||||
|
||||
# Set up Moodle cron job
|
||||
# Cron
|
||||
COPY moodle-cron /etc/cron.d/moodle-cron
|
||||
RUN chmod 0644 /etc/cron.d/moodle-cron && \
|
||||
crontab /etc/cron.d/moodle-cron
|
||||
|
||||
# Create startup script to run cron and apache
|
||||
# Startup script
|
||||
COPY start.sh /usr/local/bin/
|
||||
RUN chmod +x /usr/local/bin/start.sh
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /var/www/html
|
||||
|
||||
# Set entrypoint to our startup script
|
||||
ENTRYPOINT ["/usr/local/bin/start.sh"]
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/start.sh"]
|
||||
@@ -5,6 +5,7 @@ services:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
restart: always
|
||||
volumes:
|
||||
- ./site_data:/var/www/html
|
||||
- ./moodledata:/var/www/moodledata
|
||||
@@ -24,6 +25,7 @@ services:
|
||||
|
||||
mysql:
|
||||
image: 'mysql:8'
|
||||
restart: always
|
||||
# ports:
|
||||
# - "127.0.0.1:5436:3306"
|
||||
volumes:
|
||||
@@ -46,6 +48,7 @@ services:
|
||||
|
||||
redis:
|
||||
image: 'redis:alpine'
|
||||
restart: always
|
||||
volumes:
|
||||
- ./redis_data:/data
|
||||
healthcheck:
|
||||
|
||||
Reference in New Issue
Block a user