Commit 0089232d authored by Artem Baranovskyi's avatar Artem Baranovskyi
Browse files

Moodle and Python services are separated to isolated services.

parent e0b18b94
defined('MOODLE_INTERNAL') || die();
$capabilities = array(
);
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<XMLDB PATH="local/asystgrade/db" VERSION="2024032201" COMMENT="XMLDB file for mod asystgrade plugin"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd"
>
<TABLES>
<TABLE NAME="local_asystgrade" COMMENT="Table for storing asystgrade data">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true"/>
<FIELD NAME="question" TYPE="text" NOTNULL="true"/>
<FIELD NAME="referenceanswer" TYPE="text" NOTNULL="true"/>
<FIELD NAME="studentanswer" TYPE="text" NOTNULL="true"/>
<FIELD NAME="observed_grade" TYPE="int" LENGTH="3" NOTNULL="true"/>
<FIELD NAME="studentid" TYPE="int" LENGTH="10" NOTNULL="false"/>
<FIELD NAME="recordid" TYPE="int" LENGTH="10" NOTNULL="false"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
</KEYS>
</TABLE>
</TABLES>
</XMLDB>
...@@ -23,7 +23,7 @@ services: ...@@ -23,7 +23,7 @@ services:
- ./.env - ./.env
restart: always restart: always
build: # Building own Moodle container from Dockerfile. build: # Building own Moodle container from Dockerfile.
context: . # The context of the build (where is Dockerfile) context: ./moodle # The context of the build (where is Dockerfile)
dockerfile: Dockerfile dockerfile: Dockerfile
args: args:
- MOODLE_BASE_DIR=${MOODLE_BASE_DIR} - MOODLE_BASE_DIR=${MOODLE_BASE_DIR}
...@@ -50,7 +50,7 @@ services: ...@@ -50,7 +50,7 @@ services:
flask: flask:
build: build:
context: ./flask # Папка с Dockerfile для Flask context: ./flask # The context of the Flask build (where is Dockerfile)
dockerfile: Dockerfile dockerfile: Dockerfile
env_file: env_file:
- ./.env - ./.env
......
...@@ -36,12 +36,12 @@ docker-compose exec moodle php ${MOODLE_BASE_DIR}/admin/cli/install.php \ ...@@ -36,12 +36,12 @@ docker-compose exec moodle php ${MOODLE_BASE_DIR}/admin/cli/install.php \
--non-interactive --non-interactive
# Check if database backup exists and restore it if it does # Check if database backup exists and restore it if it does
BACKUP_FILE="moodle_backup.sql" BACKUP_FILE="moodle/moodle_backup.sql"
if [ -f "$BACKUP_FILE" ]; then if [ -f "$BACKUP_FILE" ]; then
# docker-compose exec mariadb apt-get update && apt-get install -y mysql-client && rm -rf /var/lib/apt/lists/* # docker-compose exec mariadb apt-get update && apt-get install -y mysql-client && rm -rf /var/lib/apt/lists/*
docker-compose exec mariadb bash -c "apt-get update && apt-get install -y mysql-client && rm -rf /var/lib/apt/lists/*" docker-compose exec mariadb bash -c "apt-get update && apt-get install -y mysql-client && rm -rf /var/lib/apt/lists/*"
echo "Database backup found. Restoring..." echo "Database backup found. Restoring..."
docker-compose exec -T mariadb mysql -u ${MOODLE_DATABASE_USER} -p${MOODLE_DATABASE_PASSWORD} ${MOODLE_DATABASE_NAME} < moodle_backup.sql docker-compose exec -T mariadb mysql -u ${MOODLE_DATABASE_USER} -p${MOODLE_DATABASE_PASSWORD} ${MOODLE_DATABASE_NAME} < moodle/moodle_backup.sql
echo "Database restored from backup." echo "Database restored from backup."
else else
echo "No database backup found. Skipping restore." echo "No database backup found. Skipping restore."
......
...@@ -21,30 +21,24 @@ RUN apt-get update && apt-get upgrade -y && \ ...@@ -21,30 +21,24 @@ RUN apt-get update && apt-get upgrade -y && \
apt-get clean && rm -rf /var/lib/apt/lists/* apt-get clean && rm -rf /var/lib/apt/lists/*
# Setting necessary php params # Setting necessary php params
#RUN echo "mysql.default_socket=/run/mysqld/mysqld.sock" >> /etc/php/8.2/cli/php.ini
RUN echo "mysql.default_socket=/run/mysqld/mysqld.sock" >> /etc/php/8.2/apache2/php.ini RUN echo "mysql.default_socket=/run/mysqld/mysqld.sock" >> /etc/php/8.2/apache2/php.ini
RUN echo "max_input_vars = 5000" >> /etc/php/8.2/apache2/php.ini RUN echo "max_input_vars = 5000" >> /etc/php/8.2/apache2/php.ini
RUN echo "max_input_vars = 5000" >> /etc/php/8.2/cli/php.ini RUN echo "max_input_vars = 5000" >> /etc/php/8.2/cli/php.ini
# Setting Xdebug # Setting Xdebug
#RUN echo "zend_extension=xdebug.so" >> /etc/php/8.2/apache2/php.ini RUN echo "zend_extension=xdebug.so" >> /etc/php/8.2/apache2/php.ini
#RUN echo "xdebug.mode=debug" >> /etc/php/8.2/apache2/php.ini RUN echo "xdebug.mode=debug" >> /etc/php/8.2/apache2/php.ini
#RUN echo "xdebug.start_with_request=yes" >> /etc/php/8.2/apache2/php.ini RUN echo "xdebug.start_with_request=yes" >> /etc/php/8.2/apache2/php.ini
#RUN echo "xdebug.client_host=host.docker.internal" >> /etc/php/8.2/apache2/php.ini RUN echo "xdebug.client_host=host.docker.internal" >> /etc/php/8.2/apache2/php.ini
#RUN echo "xdebug.client_port=9003" >> /etc/php/8.2/apache2/php.ini RUN echo "xdebug.client_port=9003" >> /etc/php/8.2/apache2/php.ini
RUN chmod 1777 /tmp RUN chmod 1777 /tmp
# Installing Moodle Setting correct acces rules
#RUN cd /var/www/html && mkdir -p moodle
#RUN mkdir -p ${MOODLE_BASE_DIR}
RUN echo ${MOODLE_BASE_DIR} RUN echo ${MOODLE_BASE_DIR}
RUN mkdir -p /var/www/html/moodle RUN mkdir -p /var/www/html/moodle
WORKDIR ${MOODLE_BASE_DIR} WORKDIR ${MOODLE_BASE_DIR}
#RUN #mkdir -p ${MOODLE_BASE_DIR} && \
RUN wget -qO- https://packaging.moodle.org/stable403/moodle-4.3.4.tgz | tar xz -C ${MOODLE_BASE_DIR} --strip-components=1 RUN wget -qO- https://packaging.moodle.org/stable403/moodle-4.3.4.tgz | tar xz -C ${MOODLE_BASE_DIR} --strip-components=1
#RUN wget -qO- https://packaging.moodle.org/stable403/moodle-4.3.4.tgz | tar xz --strip-components=1 -C /var/www/html/moodle
RUN chown -R www-data:www-data ${MOODLE_BASE_DIR} && \ RUN chown -R www-data:www-data ${MOODLE_BASE_DIR} && \
...@@ -55,10 +49,10 @@ RUN chown -R www-data:www-data ${MOODLE_BASE_DIR} && \ ...@@ -55,10 +49,10 @@ RUN chown -R www-data:www-data ${MOODLE_BASE_DIR} && \
chmod -R 755 ${MOODLE_BASE_DIR_DATA} chmod -R 755 ${MOODLE_BASE_DIR_DATA}
# Copying of beeing developed Plugin # Copying of beeing developed Plugin
COPY asystgrade ${MOODLE_BASE_DIR}/local/asystgrade RUN echo ${MOODLE_BASE_DIR}
RUN mkdir ${MOODLE_BASE_DIR}/local/asystgrade
# Setting correct acces rules for Plugin # Setting correct acces rules for Plugin
#RUN chown -R www-data:www-data ${MOODLE_BASE_DIR}/local/asystgrade && \
RUN chmod -R 755 ${MOODLE_BASE_DIR}/local/asystgrade RUN chmod -R 755 ${MOODLE_BASE_DIR}/local/asystgrade
# Making Symlink for MariaDB Socket # Making Symlink for MariaDB Socket
...@@ -127,8 +121,7 @@ RUN a2enmod ssl ...@@ -127,8 +121,7 @@ RUN a2enmod ssl
#RUN echo "127.0.0.1 ${MOODLE_WWWROOT##https://}" >> /etc/hosts #RUN echo "127.0.0.1 ${MOODLE_WWWROOT##https://}" >> /etc/hosts
#Opening ports #Opening ports
#EXPOSE 80 443 5000
EXPOSE 80 443 EXPOSE 80 443
# Running supervisord # Running supervisord
CMD ["apache2ctl", "-D", "FOREGROUND"] CMD ["apache2ctl", "-D", "FOREGROUND"]
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment