GithubHelp home page GithubHelp logo

jobcespedes / docker-compose-moodle Goto Github PK

View Code? Open in Web Editor NEW
45.0 7.0 27.0 65.42 MB

This project quickly builds a local workspace for Moodle (Apache2, PHP-FPM with XDEBUG y Postgres) using containers for each of its main components. The local workspace is built and managed by Docker Compose

License: Apache License 2.0

Shell 34.84% Dockerfile 65.16%
docker moodle postgres php-fpm docker-compose apache2 xdebug development container

docker-compose-moodle's Introduction

docker-compose-moodle

Build Status Moodle Apache2 PHP Postgres Buy me a coffee Software License

Leer en Español

This project quickly builds a local workspace for Moodle (Apache2, PHP-FPM with XDEBUG y Postgres) using containers for each of its main components. The local workspace is built and managed by Docker Compose

Quickstart:

  1. Install Docker. Check out how to install Docker
  2. Install Docker Compose. Check out how to install Docker Compose
  3. Download this repo: git clone https://github.com/jobcespedes/docker-compose-moodle.git && cd docker-compose-moodle
  4. Clone Moodle repo: git clone --branch MOODLE_401_STABLE --depth 1 https://github.com/moodle/moodle html
  5. Run with: docker-compose up -d

Contents

  1. Environment Variables
  2. Docker Compose Resources
  3. Workspace Operations
  4. Debugging with XDEBUG
  5. Moodle Cron Debugging
  6. Database management with Pgadmin4
  7. Backup and restore database
  8. Install Docker
  9. Install Docker Compose

Environment variables

The following table describes environment variables set in .env. The defaults work for a initial setup. They can be modified if needed.

Variable Default value Use
REPO_FOLDER html Default relative path for Moodle repo
DOCUMENT_ROOT /var/www/html Mount point inside containers for volume REPO_FOLDER
MY_TZ America/Costa_Rica Containers timezone
PG_LOCALE es_CR Containers locale
PG_PORT 5432 Postregres port to expose
POSTGRES_DB moodle Postgres DB for Moodle
POSTGRES_USER user DB user for Moodle
POSTGRES_PASSWORD password DB password for Moodle
PHP_SOCKET 9000 PHP-FPM socket to connect apache2 and php-fpm services
ALIAS_DOMAIN localhost Domain Alias
WWW_PORT 80 Web port to be bound
MOODLE_DATA /var/moodledata Mount point inside containers for Moodle data folder
WWWROOT localhost Host part to set in Moodle file 'config.php' for config option 'wwwroot'

Docker Compose resources

The following table sums up Docker Compose resources.

Component Type Responsability Content Config
apache2 Container Web server Debian9, Apache2 Apache2 server and modules for Moodle
cron Container Cron task for Moodle Debian9, Cron Moodle cron task and its frequency
php-fpm Container Process manager for PHP Debian9, PHP-FPM, XDEBUG PHP, its modules and Moodle dependencies
postgres Container DBMS Debian9, Postgres User and DB
db_dumps Volume Restore db when built Dump files for DB to restore To restore an initial database if you start the container with a data directory that is empty. File name should be "dump-init.dump"
moodledata Volume Moodle data store Data generated by moodle Moodle data dir
REPO_FOLDER Volume Moodle code Moodle code It is set to 'html/' by deafult (check out .env)

Project management with Docker Compose

Inside project folder

  1. Run project
docker-compose up -d
# Different project name
# docker-compose -p my-proj up -d
  1. Stop project
docker-compose stop
# docker-compose stop php-fpm
  1. Start project
docker-compose start
# docker-compose start php-fpm
  1. Remove project
docker-compose down
# Remove volumes too
# docker-compose --volumes
# With different project name:
# docker-compose -p my-proj down
  1. Logs
docker-compose logs
# docker-compose logs -f --tail="20" php-fpm

XDEBUG

Use idekey PHPTEST

PHPStorm

Debug config for IDE PHPStorm:

  1. Add server:
    • Settings -> Languages -> PHP -> Servers
    • Name: localhost
    • Host: localhost
    • Port: 80
    • Debugger: Xdebug
    • Use path mapping: checked
    • Absolute path on the server: /var/www/html

Debug button

  1. Add PHP remote debug
    • Run / Debug Configurations -> PHP remote debug
    • Use server created in step #1 and set idekey PHPTEST

Debug button

  1. Enable Start listening for PHP Debug Connections Debug button

VSCode

Debug config for IDE VSCode here

Cron debugging

Follow previous steps, set a breakpoint and then run:

docker-compose exec php-fpm php admin/cli/cron.php

There is a scrip for Specific cron tasks. For example:

docker-compose exec php-fpm php admin/tool/task/cli/schedule_task.php --execute='\core\task\cache_cleanup_task'
# Listing tasks
# docker-compose exec php-fpm php admin/tool/task/cli/schedule_task.php --list

Pgadmin4

Config pgadmin4

  1. Go to http://localhost:5050
  2. In File -> Preferences -> Binary paths set /usr/bin
  3. Add new server:
    • Tab General
      • Name: Any name you want
    • Tab Connection
      • Host name/address: postgres
      • Host Username: user
      • Host Password: password
    • Save

Backup and restore database

When needed, backup and restore of the database could be done in the following way.

# Set env vars
POSTGRES_USER=user
POSTGRES_DB=moodle
DB_DUMP_NAME=dump-init.$(date +"%Y%m%d%H%M%S").dump

# Backup
# -Fc  Output a custom-format archive suitable for input into pg_restore
docker-compose exec postgres pg_dump -U ${POSTGRES_USER} ${POSTGRES_DB} -Fc -f /opt/db_dumps/${DB_DUMP_NAME}

# Restore
# -c  Clean (drop) database objects before recreating them.
# -C  Create the database before restoring into it
docker-compose exec postgres pg_restore -U ${POSTGRES_USER} -d postgres -c -C -O --role ${POSTGRES_USER} /opt/db_dumps/${DB_DUMP_NAME}

A database can be automatically restored when postgres service starts. By placing a dump file inside 'db_dumps' folder and naming it "dump-init.dump", postgres container will try to restore that file as an initial database if data directory is empty.

IMPORTANT: Depending of size, database initial availability could be delayed

Español

Este es un repositorio para crear rápidamente un entorno de trabajo con Moodle (Apache2, PHP-FPM con XDEBUG y Postgres) usando contenedores para cada uno sus principales componentes. El entorno de trabajo se crea y gestiona con Docker Compose.

Pasos rápidos para crear proyecto:

  1. Tener Docker. Ver como instalar Docker
  2. Tener Docker Compose. Ver como instalar Docker Compose
  3. Descargar este repo y acceder a él: git clone https://github.com/jobcespedes/docker-compose-moodle.git && cd docker-compose-moodle
  4. Copiar repositorio de código de Moodle: git clone --branch MOODLE_401_STABLE --depth 1 https://github.com/moodle/moodle html
  5. Desplegar con: docker-compose up -d

Variables de ambiente

La siguiente tabla contiene las variables utilizadas en el archivo .env para Docker Compose. Los valores por defecto funcionan para una configuración inicial. Cámbielos de ser necesario.

Variable Valor por defecto Utilidad
REPO_FOLDER html Ruta relativa para el código de Moodle
DOCUMENT_ROOT /var/www/html Punto de montaje para REPO_FOLDER dentro de contenedores
MY_TZ America/Costa_Rica Zona horaria para los contenedores
PG_LOCALE es_CR Configuración de lugar
PG_PORT 5432 Puerto de base de datos postgres a publicar
POSTGRES_DB moodle Nombre de la base de datos postgres de Moodle
POSTGRES_USER user Nombre de usuario de la base de datos postgres de Moodle
POSTGRES_PASSWORD password Contraseña de la base de datos postgres de Moodle
PHP_SOCKET 9000 Socket para conectar apache2 con php-fpm
ALIAS_DOMAIN localhost Alias del Dominio
WWW_PORT 80 Puerto web a publicar
MOODLE_DATA /var/moodledata Carpeta de datos de Moodle a montar en los contenedores
WWWROOT localhost Para de nombre de host en la url de config.php de Moodle

Estructura de Docker Compose

A continuación se incluye una tabla que resume la estructura del archivo de Docker Compose:

Componente Tipo Responsabilidad Contenido Configuración
apache2 Contenedor Servidor web Debian9, Apache2 El mínimo de módulos de Apache2
cron Contenedor Tarea de cron de Moodle Debian9, Cron Frecuencia de ejecución de tarea cron de Moodle
php-fpm Contenedor Interprete y manejador de procesos para PHP Debian9, PHP-FPM, XDEBUG Modulos de php y paquetes adicionales para Moodle
postgres Contenedor Gestor de base de datos Debian9, Postgres Usuario y base de datos
db_dumps Volumen Restaurar una base de datos inicial Archivos de respaldo de base de datos. Para restaurar al iniciar si se comienza con directorio de datos vacío. El nombre del archivo de respaldo a utilizar debe ser "dump-init.dump"
moodledata Volumen Almacén de datos de Moodle Archivos generados por Moodle Moodle data dir
REPO_FOLDER Volumen Código de aplicación Código de Moodle Por defecto es './html' (ver archivo .env)

Gestión del proyecto con Docker Compose

Dentro de la carpeta del proyecto

  1. Correr proyecto
docker-compose up -d
# Nombrar el proyecto diferente a la carpeta:
# docker-compose -p mi-proy up -d
  1. Detener el proyecto
docker-compose stop
# docker-compose stop php-fpm
  1. Iniciar el proyecto
docker-compose start
# docker-compose start php-fpm
  1. Eliminar proyecto
docker-compose down
# Eliminar los volumenes también:
# docker-compose --volumes
# Eliminar con un nombre de proyecto especifico:
# docker-compose -p mi-proy down
  1. Logs
docker-compose logs
# docker-compose logs -f --tail="20" php-fpm

XDEBUG

Se utiliza el idekey PHPTEST

PHPStorm

Configuración para depurar con IDE PHPStorm:

  1. Agregar server:
    • Settings -> Languages -> PHP -> Servers
    • Name: localhost
    • Host: localhost
    • Port: 80
    • Debugger: Xdebug
    • Use path mapping: checked
    • Absolute path on the server: /var/www/html

Debug button

  1. Agregar PHP remote debug
    • Run / Debug Configurations -> PHP remote debug
    • Use server created in step #1 and set idekey PHPTEST

Debug button

  1. Activar botón Start listening for PHP Debug Connections Debug button

Depurar tareas de cron

Siga los pasos anteriores, establezca una interrupción y ejecuta en el la línea de comandos:

docker-compose exec php-fpm php admin/cli/cron.php

Se pueden ejecutar también tareas específicas de cronPor ejemplo:

docker-compose exec php-fpm php admin/tool/task/cli/schedule_task.php --execute='\core\task\cache_cleanup_task'
# Listar tareas
# docker-compose exec php-fpm php admin/tool/task/cli/schedule_task.php --list

Pgadmin4

Pasos para usar pgadmin4

  1. Ingresar a http://localhost:5050
  2. En File -> Preferences -> Binary paths establecer en /usr/bin
  3. Agregar nuevo servidor:
    • Pestaña General
      • Name: Un nombre para el servidor
    • Pestaña Connection
      • Host name/address: postgres
      • Host Username: user
      • Host Password: password
    • Guardar

Respaldar y restaurar la base de datos

Es posible respaldar y restaurar la base de datos de la siguiente manera.

# Establecer vars de entorno
POSTGRES_USER=user
POSTGRES_DB=moodle
DB_DUMP_NAME=dump-init.$(date +"%Y%m%d%H%M%S").dump

# Respaldar
# -Fc  Formato personalizado para pg_restore
docker-compose exec postgres pg_dump -U ${POSTGRES_USER} ${POSTGRES_DB} -Fc -f /opt/db_dumps/${DB_DUMP_NAME}

# Restaurar
# -c  Limpia los objetos de la base de datos antes de recrearlos
# -C  Crea la base de datos antes de restaurarla
docker-compose exec postgres pg_restore -U ${POSTGRES_USER} -d postgres -c -C -O --role ${POSTGRES_USER} /opt/db_dumps/${DB_DUMP_NAME}

Se puede restaurar una base de datos, usando pg_dump (formato personalizado de Posgres), a la caperta 'db_dumps' y nombrando el archivo como dump-init.dump

IMPORTANTE: Dependiendo del tamaño, la ejecución de este sql podría demorar la disponibilidad inicial de la base de datos.

docker-compose-moodle's People

Contributors

jobcespedes avatar paulterinho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-compose-moodle's Issues

docker-compose up -d fails when first run

Using Macbook M1 laptop with Ventura OS. First run fails with

=> ERROR [moodledev/postgres:13-es_CR 4/4] COPY postgres/conf/restore_du  0.0s
 => CANCELED [moodledev/apache2:2.4 internal] load metadata for docker.io  0.0s
------
 > [moodledev/postgres:13-es_CR 4/4] COPY postgres/conf/restore_dump.sh /docker-entrypoint-initdb.d/restore_dump.sh:
------
failed to solve: failed to compute cache key: failed to walk /var/lib/docker/tmp/buildkit-mount3058909058/postgres/conf: lstat /var/lib/docker/tmp/buildkit-mount3058909058/postgres/conf: no such file or directory

Unable to locate package php5-xdebug

After do, all thing like de readme.md say, it throw this error:

E: Unable to locate package php5-xdebug
ERROR: Service 'php-fpm' failed to build: The command '/bin/sh -c apt-get update && apt-get install -y --no-install-recommends php5-xdebug && apt-get install -y --no-install-recommends libxml2-dev zlib1g-dev libpng12-dev libfreetype6-dev libjpeg62-turbo-dev libicu-dev libpspell-dev libpq-dev libldap2-dev libxslt-dev && docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/ && docker-php-ext-install gd && docker-php-ext-configure xmlrpc --with-libxml-dir=/usr/include/ && docker-php-ext-install xmlrpc && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu && docker-php-ext-install ldap && docker-php-ext-install soap zip intl pspell pgsql xsl && docker-php-ext-configure opcache --enable-opcache && docker-php-ext-install opcache' returned a non-zero code: 100

any idea??

Performance issues

I'm starting to have a somewhat bad UX because of long response delays (~4 to 15 seconds depending on the task), even if i'm the only one using it (and the server where it is running is quite powerful)
I was wondering if you have had a similar problem, and if so, how did you tackle it?

Error on git clone

Hello,
it happens on exec the second command, i had only changed the moodle branch

git clone --branch MOODLE_39_STABLE --depth 1 git://github.com/moodle/moodle html

I get this error:


    Clone in 'html' in corso...
    fatal: impossibile collegarsi a github.com:
    github.com[0: 140.82.121.3]: errno=Connessione scaduta

I do this workaround , i hope is right, to get the goal

 git clone git://git.moodle.org/moodle.git html
 cd html
 git branch --track MOODLE_39_STABLE origin/MOODLE_39_STABLE
 git checkout MOODLE_39_STABLE

Thank'you,
Bye

docker-compose up -d fails in M1 Mac

I know this has only been tried in Linux (Intel processor I assume). The apache container fails like this:

2023-04-19 15:37:33 runtime stack:
2023-04-19 15:37:33 runtime.throw(0x6430dc, 0x9)
2023-04-19 15:37:33     /usr/local/Cellar/go/1.8.1/libexec/src/runtime/panic.go:596 +0x95
2023-04-19 15:37:33 runtime.newosproc(0xc420024000, 0xc420034000)
2023-04-19 15:37:33     /usr/local/Cellar/go/1.8.1/libexec/src/runtime/os_linux.go:163 +0x18c
2023-04-19 15:37:33 runtime.newm(0x650dd0, 0x0)
2023-04-19 15:37:33     /usr/local/Cellar/go/1.8.1/libexec/src/runtime/proc.go:1628 +0x137
2023-04-19 15:37:33 runtime.main.func1()
2023-04-19 15:37:33     /usr/local/Cellar/go/1.8.1/libexec/src/runtime/proc.go:126 +0x36
2023-04-19 15:37:33 runtime.systemstack(0x75bb00)
2023-04-19 15:37:33     /usr/local/Cellar/go/1.8.1/libexec/src/runtime/asm_amd64.s:327 +0x79
2023-04-19 15:37:33 runtime.mstart()
2023-04-19 15:37:33     /usr/local/Cellar/go/1.8.1/libexec/src/runtime/proc.go:1132
2023-04-19 15:37:33 
2023-04-19 15:37:33 goroutine 1 [running]:
2023-04-19 15:37:33 runtime.systemstack_switch()
2023-04-19 15:37:33     /usr/local/Cellar/go/1.8.1/libexec/src/runtime/asm_amd64.s:281 fp=0xc420020788 sp=0xc420020780
2023-04-19 15:37:33 runtime.main()
2023-04-19 15:37:33     /usr/local/Cellar/go/1.8.1/libexec/src/runtime/proc.go:127 +0x6c fp=0xc4200207e0 sp=0xc420020788
2023-04-19 15:37:33 runtime.goexit()
2023-04-19 15:37:33     /usr/local/Cellar/go/1.8.1/libexec/src/runtime/asm_amd64.s:2197 +0x1 fp=0xc4200207e8 sp=0xc4200207e0

It seems that the image being used is only compiled for Intel.

Tks!

No puedo activar el contenedor metics/php-fpm:7

No consigo activar el contenedor metics/php-fpm:7
Cuando lo intento me aparece el siguiente error

: invalid optionin/bash: -
docker-compose-moodle_php-fpm_1 exited with code 1

No he tocado ninguna configuración, está todo como cuando lo descargué.

¿Podrías ayudarme?

No levanta el contenedor moodle (app)

Hello, I need your help since when doing a docker-compose ps, the app container (/ true) has the status Exit 0.
The rest of the containers are Up. Docker-compose logs don't give me any errors. Could you guide me where I am failing ?.

Data:
Linux: Linux 4.4.0-177-generic # 207-Ubuntu SMP Mon Mar 16 01:16:10 UTC 2020 x86_64 x86_64 x86_64 GNU / Linux

Docker: Docker version 17.05.0-ce, build 89658be

Docker-compose: docker-compose version 1.21.0, build 5920eb0

docker-compose ps:
Name Command State Ports
moodle_35stable_apache2_1 / opt / docker / bin / entrypoint ... Up 443 / tcp, 127.0.0.1:8085->80/tcp
moodle_35stable_app_1 / true Exit 0
moodle_35stable_cron_1 php-fpm-xdebug-entrypoint ... Up 9000 / tcp
moodle_35stable_pgadmin_1 python ./usr/local/lib/pyt ... Up 127.0.0.1:5050->80/tcp
moodle_35stable_php-fpm_1 php-fpm-xdebug-entrypoint ... Up 9000 / tcp
moodle_35stable_postgres_1 docker-entrypoint.sh postgres Up 5432 / tcp

docker-compose logs --tail = "30" app:
Attaching to moodle_35stable_app_1

Thank you very much for your help.

Image doesn't work with a reverse proxy.

Hi Team

I need work with Moodle under a reverse proxy, but the Moodle containers doesn't work with a reverse proxy.

This is my Docker compose file for the reverse proxy:

version: '2'
services:
  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - /var/www/vhost.d:/etc/nginx/vhost.d
      - /var/www/certs:/etc/nginx/certs:ro
      - /usr/share/nginx/html
    labels:
      - com.example.nginx_proxy=true

volumes:
  nginx-proxy:


networks:
  default:
    external:
      name: nginx-proxy


I only add the external network into the moodle docker-compose file.
when set up the moodle's containers I never see the moodle webpage.

Best regards.

Problem dumping postgres and persisting work

I've been working on a site using your (quite amazing) repo, now i want to save my progress but im getting these errors:

~/Projects/wordpress/moodle/docker-compose-moodle · (master±)
⟩ ./pg_dump.sh
ERROR: No container found for postgres_1

~/Projects/wordpress/moodle/docker-compose-moodle · (master±)
⟩ ./pg_dump.sh
ERROR: No such service: ultracore-moodle_postgres_1

pg_dump, contains:

#!/bin/bash -e

POSTGRES_DB=moodle
POSTGRES_USER=admin
#tried with postgres, postgres_1, ultracore-moodle_postgres, ultracore-moodle_postgres_1
DB_DUMP_NAME=dump-init.$(date +"%Y%m%d%H%M%S").dump
docker-compose exec ultracore-moodle_postgres_1 pg_dump -U ${POSTGRES_USER} ${POSTGRES_DB} -Fc -f /opt/db_dumps/${DB_DUMP_NAME}

And this is my docker status:

CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                           NAMES
2181fb381c14        metics/php-fpm:7-cron       "php-fpm-xdebug-entr…"   2 hours ago         Up 2 hours          9000/tcp                        ultracore-moodle_cron_1
cb6fa2101f8d        metics/apache2:2.4          "/opt/docker/bin/ent…"   2 hours ago         Up 2 hours          127.0.0.1:80->80/tcp, 443/tcp   ultracore-moodle_apache2_1
d363049fac79        metics/php-fpm:7            "php-fpm-xdebug-entr…"   2 hours ago         Up 2 hours          9000/tcp                        ultracore-moodle_php-fpm_1
628e3af27cae        foxylion/pgadmin4           "python ./usr/local/…"   2 hours ago         Up 2 hours          127.0.0.1:5050->80/tcp          ultracore-moodle_pgadmin_1
c21f5f1a3d2d        metics/postgres:9.6-es_AR   "docker-entrypoint.s…"   2 hours ago         Up 2 hours          5432/tcp                        ultracore-moodle_postgres_1
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
metics/postgres         9.6-es_AR           f9008cbd8015        About an hour ago   204MB
metics/php-fpm          7-cron              547a63327e8a        25 hours ago        741MB
metics/apache2          2.4                 1dd23bc36979        25 hours ago        338MB
metics/php-fpm          7                   313c8cbdbc43        25 hours ago        678MB
metics/postgres         9.6-es_CR           7a5d2c51c264        25 hours ago        204MB

What i'm doing wrong?
Also, how do i persist my changes? (ie. themes, design, site content data, plugins, etc).
Thank you very much!

Xdebug could not open the remote debug file

Hi Job,

I'm getting this error next:

Got error 'PHP message: Xdebug could not open the remote debug file '/var/log/xdebug.log'.\nPHP message: Xdebug could not open the remote debug file '/var/log/xdebug.log'.\n', referer: http://localhost/my/

I'm assuming this means a folder + file on my local machine so I've set the permissions to 766 / 777 respectively and there doesn't seem to make a difference.

Recommendations?

  • Paul

No puedo configurar SMTP

Hola, no puedo enviar correos debido a que al configurar smtp, no se logran enviar el email de prueba. alguna variable de entorno a configurar?

Moodle 39 Database Error

Hi, i'm giving a shot to upgrading the project to MOODLE_39_STABLE, to enhance plugin compatibility as much as possible.
Apparently everything runs OK, until i try to restore my previous database dump:
Screenshot from 2020-12-07 17-46-18

This is my updated install script:

#!/bin/bash
docker-compose down --volumes
docker system prune -af
docker-compose up -d
POSTGRES_USER=admin
POSTGRES_DB=moodle
DB_DUMP_NAME=dump-init.20201120185818.dump
docker-compose exec postgres pg_restore -U ${POSTGRES_USER} -d postgres -c -C -O --role ${POSTGRES_USER} /opt/db_dumps/${DB_DUMP_NAME}

Docs say that Moodle should be upgradeable from 35 to 39 as long as you install a clean project, copy your plugins and configs, and let moodle auto-update its database. However and if i understood correcly, here we have both user data and moodle database merged into postgress.
Is it upgradeable, or i must start with a fresh install?? If the last is the case, lets say i install plugins manually in a fresh-updated install, how do i restore user data?

Unmet dependencies

Hi Job,

Followed your quick start instructions, and I'm seeing this error and was curious if I was doing something wrong?

  • Paul
the following information may help to resolve the situation:

The following packages have unmet dependencies:
 clamav : Depends: clamav-freshclam (>= 0.102.2+dfsg) but it is not going to be installed or
                   clamav-data
          Depends: libc6 (>= 2.28) but 2.24-11+deb9u4 is to be installed
          Depends: libclamav9 (>= 0.102.2) but it is not going to be installed
          Depends: libcurl4 (>= 7.16.2) but it is not installable
 clamav-daemon : Depends: clamav-freshclam (>= 0.102.2+dfsg) but it is not going to be installed or
                          clamav-data
                 Depends: libc6 (>= 2.28) but 2.24-11+deb9u4 is to be installed
                 Depends: libclamav9 (>= 0.102.2) but it is not going to be installed
                 Depends: libcurl4 (>= 7.18.2) but it is not installable
                 Depends: libncurses6 (>= 6) but it is not installable
                 Depends: libtinfo6 (>= 6) but it is not installable
                 Recommends: clamdscan but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
ERROR: Service 'php-fpm' failed to build: The command '/bin/sh -c apt-get install -y graphviz clamav clamav-daemon zip unzip aspell-es' returned a non-zero code: 100

Reason: DNS lookup failure for: php-fpm

Hola,
cuando intento conectarme con Moodle, me aparece este mensaje:

Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request

Reason: DNS lookup failure for: php-fpm

Apache/2.4.25 (Debian) Server at 127.0.0.1 Port 80

Al parecer no me levanta en Docker docker-compose-moodle_php-fpm_1metics/php-fpm:7

Se inicia y se apaga
En los log solo me indica: : invalid option

Tampoco levanta este docker: docker-compose-moodle_app_1tianon/true
aunque me da Exit Code 0

Gracias.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.