Skip to content

Instantly share code, notes, and snippets.

@developerck
Last active January 12, 2024 02:49
Show Gist options
  • Save developerck/37ceea48e8026d735f47e7d6c97b082f to your computer and use it in GitHub Desktop.
Save developerck/37ceea48e8026d735f47e7d6c97b082f to your computer and use it in GitHub Desktop.

moodle 4 + lms env setup

#!/usr/bin/env bash
source /etc/apache2/envvars
mkdir -p /var/www/data && chmod -R 777 /var/www/data
mkdir -p /var/www/localcache && chmod -R 777 /var/www/localcache
mkdir -p /var/run/
service php8.2-fpm start
apachectl -D FOREGROUND
FROM ubuntu:20.04
LABEL copyright=devck
LABEL by=developerck@gmail.com
LABEL env=lms-moodle4
ENV TZ=UTC
## ubunutu env setup ##
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && apt update -y && apt install -y \
sudo \
apache2 \
wget \
git \
vim \
curl
## php env setup ##
RUN sudo apt install -y software-properties-common && sudo add-apt-repository ppa:ondrej/php && sudo apt update -y
RUN sudo apt install -y \
php8.2 \
php8.2-common \
php8.2-curl \
php8.2-dev \
php8.2-fpm \
php8.2-gd \
php8.2-intl \
php8.2-mbstring \
php8.2-mcrypt \
php8.2-mysql \
php8.2-memcached \
php8.2-opcache \
php8.2-zip \
php8.2-xml \
php8.2-redis \
php8.2-fpm \
php8.2-pspell \
mysql-client \
locales \
&& locale-gen en_AU.UTF-8 \
&& apt clean all && rm -rf /var/cache/yum \
&& update-alternatives --set php /usr/bin/php8.2 \
&& apt -y install php-apcu
# cron
RUN sudo apt-get install -y cron
# cmd
RUN a2enmod rewrite \
&& a2enmod headers \
&& a2enconf php8.2-fpm \
&& systemctl enable php8.2-fpm \
&& a2enmod proxy_fcgi proxy
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh
WORKDIR /var/www/html
EXPOSE 80
CMD ["/bin/bash", "-c", "/docker-entrypoint.sh"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment