Page MenuHomePhabricator

Improve Docker images for Fundraising App and Fundraising Operation Center
Closed, ResolvedPublic1 Estimated Story Points


Acceptance criteria:

  • We use the same set of Docker images for Fundraising App and Fundraising Operation Center
  • We are able to use IMAP and MongoDB in the Fundraising Operation Center by mounting a configuration file
  • We are prepared to drop the special xdebug image

Implementation details:

Compile/install all the extensions we potentially use in our docker image: json, iconv, mbstring, pdo, mysql, xdebug, imap and now mongodb. For extensions that are NOT shared across applications (imap, mongodb), we don't use docker-php-ext-install but pecl install (the former activates the extension, the latter just builds it but does not add config files to activate it), see

Changes needed in the fundraising-backend repo:

  • in docker-compose.yml, drone.yml and Makefile add volume mounts to mount configuration files that activate the imap and mongodb extension. Mount into /usr/local/etc/php/conf.d in the image. The config needs to contain the name, e.g. (see existing files you can see when running docker-compose run app bash and then seeing the files in /usr/local/etc/php/conf.d
  • Delete custom Dockerfile and change Makefile and docker-compose to use image instead

Event Timeline

Followup PR that will allow us to have just one Docker image:
Followup Ticket that tracks which PHP repositories already use the unified image: T364343: Use unified Docker image in all PHP repositories [6/13] . Please review the PRs linked in that ticket
Final cleanup ticket in T364345: Simplify Dockerfile generation for WMDE Fundraising PHP Repositories

gabriel-wmde moved this task from Doing to Review on the WMDE-FUN-Sprint-2024-04-23 board.
gabriel-wmde changed the point value for this task from 8 to 1.May 7 2024, 10:05 AM