Make shellbox-media accessible from mediawiki

Merged Ebernhardson requested to merge shellbox-media into main

The existing shellbox-media configuration was incomplete and inaccessible from mediawiki. Unknown if this also needs to be applied to the other shellbox services, but plausibly yes.

  • Add a container to terminate http requests and turn them into fastcgi requests that the shellbox-media container can run.

  • Add configuration for shellbox-media, otherwise the only response is that it cant find the configuration file.

  • Add a SHELLBOX_SECRET_KEY environment variable so we can pass the same secret to shellbox and mediawiki. I wasn't sure how to template this into the shellbox configuration file, so we needed to make an extended image of the shellbox-media image that allows this env var to pass through to php.

  • SHELLBOX_SECRET_KEY needs a default value, it wasn't clear the best place to set this. For now it has been co-located with the code that sets the MEDIAWIKI_VOLUMES_CODE env var.

  • The fcgi<->http interaction uses FCGI_UNIX with a shared volume, it seemed easier than getting the right values into listen.allowed_clients of the FCGI_TCP.conf file.

  • Change the value stored in $dockerServices of MwddSettings.php for shellbox-media to the url, matching the existing doc.

Bug: T333183

Merge request reports