The MyBB package build script. Requires Docker.
input/source/- directory containing development source files (e.g. a git repository),
input/previous-source/- directory containing source files of the previous release,
input/patches/- directory containing git patch/diff files to be applied,
input/package-addendum/- additional files attached to the release package,
input/build.properties- variables specific to the target release.
secrets.env- runtime keys and secrets used to fetch additional files
It is recommended to run the tools with at least 2048 MB of memory available to PHP and external tools.
Clone the Builder
Clone/download the repository. Make sure old files in
Prepare Docker Image
Build the Docker image in the cloned directory:
$ docker-compose build
Prepare Input Files
For reproducing packages, use the provided
For building from scratch:
If applicable, place additional files that can be fetched automatically from a data repository at branch specified in
secrets.envfile in the main directory with the data repository URL variable:
Create a Deploy key and add/ask to add it to the data repository and place the private key file (
id_rsa, etc.) in
secrets/. Files within this directory will be copied into the container and configured as a SSH key to use when pulling data in the
Run the built
phingservice and execute:
dist-settask to build the release package only:
$ docker-compose run phing dist-set
fulltask to build the release and update packages:
$ docker-compose run phing full
If you believe you found discrepancies when reproducing packages, contact the MyBB security team.
phing service, with volumes
output/ mounted to
/home/user/, passes subsequent
docker-compose run arguments to
phing (the PHP build script).
During Phing execution the files operated on are located in the
build/ directory, and once all tasks are completed are copied to
output/ (outside of the Docker container).
VirtualBox Shared Folders on Windows hosts
On Windows-based hosts it may be necessary to add the directory in the Docker Machine's Settings → Shared Folders (e.g.
d/mybb-build) and manually mount the VirtualBox Shared Folders filesystem (
vboxsf) to the
$ docker-machine ssh default 'sudo mount -t vboxsf d/mybb-build //d/mybb-build' $ docker-machine restart