Created
May 7, 2024 19:38
-
-
Save sbassett29/1547bcb995744596b77126d8ac760082 to your computer and use it in GitHub Desktop.
A basic mediawiki-docker/ext:gadgets install script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
################################################################################ | |
# Author: [email protected] | |
# License: Apache 2 <https://opensource.org/licenses/Apache-2.0> | |
# Usage: chmod +x install-gadget-test-mw.sh && ./install-gadget-test-mw.sh | |
################################################################################ | |
set -euo pipefail | |
# check binary dependencies | |
bins=("cat" "echo" "git" "docker") | |
for bin in "${bins[@]}"; do | |
if [[ -z $(which $bin) ]]; then | |
printf "dependency '$bin' does not appear to be installed - exiting.\n" | |
exit 1 | |
fi | |
done | |
# vars | |
INSTALL_DIR="core-gadget-testing" | |
SKINS_DIR="skins" | |
EXTS_DIR="extensions" | |
# shallow clone mediawiki core into install dir | |
git clone --depth=1 "https://gerrit.wikimedia.org/r/mediawiki/core" "$INSTALL_DIR" | |
# set up .env, etc. | |
cd "$INSTALL_DIR" | |
cat <<EOT >> .env | |
MW_SCRIPT_PATH=/w | |
MW_SERVER=http://localhost:8081 | |
MW_DOCKER_PORT=8081 | |
MEDIAWIKI_USER=Admin | |
MEDIAWIKI_PASSWORD=dockerpass | |
XDEBUG_CONFIG= | |
XDEBUG_ENABLE=true | |
XHPROF_ENABLE=true | |
EOT | |
echo "MW_DOCKER_UID=$(id -u) | |
MW_DOCKER_GID=$(id -g)" >> .env | |
# docker compose up | |
docker compose up -d | |
# install composer deps for core | |
docker compose exec mediawiki composer update --no-dev | |
# install skins | |
cd "$SKINS_DIR" | |
git clone --depth=1 "https://gerrit.wikimedia.org/r/mediawiki/skins/Vector" | |
docker compose exec -i mediawiki bash -c "cd skins/Vector && composer update --no-dev" | |
cd .. | |
# install exts | |
cd "$EXTS_DIR" | |
git clone --depth=1 "https://gerrit.wikimedia.org/r/mediawiki/extensions/Gadgets" | |
docker compose exec -i mediawiki bash -c "cd extensions/Gadgets && composer update --no-dev" | |
cd .. | |
# command-line mw install | |
docker compose exec mediawiki /bin/bash /docker/install.sh | |
# append ext/skin loads to LS.php | |
echo "wfLoadExtension( 'Gadgets' );" >> LocalSettings.php |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment