Feature summary (what you would like to be able to do and where):
It would be nice for third-party users to be able to install their own extensions, regardless of if its through code changes, through Composer inside the Docker container, through a .env file, or YML, or something else.
Use case(s) (list the steps that you performed to discover that problem, and describe the actual underlying problem which you want to solve. Do not describe only a solution):
I've tried two solutions to try to solve this myself (specifically for WikibaseLexeme), but no dice so far. I should note that I'm running this on a Windows 11 laptop and I'm running commands in Windows Powershell (I can add other version information if deemed necessary).
The first solution involved attempting to install in the Docker container itself using Composer. I was able to install Composer fine using the instructions on the Composer website, but running composer update results in an error along the lines of "does not comply with psr-4 autoloading standard".
The second potential solution was to add the the Dockerfile in ./build/Wikibase/, specifically:
(1) Adding "WikibaseLexeme" to the end of the ALL_EXTENSIONS argument on line 117.
(2) Adding "ARG WIKIBASELEXEME_COMMIT" to line 134.
(3) Running .\build.sh in the wikibase-release-pipeline directory.
(4) Running docker compose up --wait.
Unfortunately when this is run I get dependency failed to start: container wbs-deploy-wikibase-1 is unhealthy. While .\build.sh doesn't "fail" per se, it does open another shell that outputs something like:
2024/08/15 15:59:58 http2: server: error reading preface from client //./pipe/docker_engine: file has already been closed 2024/08/15 15:59:58 http2: server: error reading preface from client //./pipe/docker_engine: file has already been closed 2024/08/15 15:59:59 http2: server: error reading preface from client //./pipe/docker_engine: file has already been closed 2024/08/15 15:59:59 http2: server: error reading preface from client //./pipe/docker_engine: file has already been closed 2024/08/15 15:59:59 http2: server: error reading preface from client //./pipe/docker_engine: file has already been closed 2024/08/15 15:59:59 http2: server: error reading preface from client //./pipe/docker_engine: file has already been closed 2024/08/15 15:59:59 http2: server: error reading preface from client //./pipe/docker_engine: file has already been closed 2024/08/15 15:59:59 http2: server: error reading preface from client //./pipe/docker_engine: file has already been closed sha256:[alphanumeric sequence] sha256:[alphanumeric sequence] sha256:[alphanumeric sequence] sha256:[alphanumeric sequence] sha256:[alphanumeric sequence]
Basically the same thing prints when removing the WikibaseLexeme content and re-running though.
Benefits (why should this be implemented?):
There are a lot of beneficial MediaWiki extensions that users have interest in using. Not all of them should be included in a general pipeline release-- but there should be an option to install them if people want to use them.


