Skip to content

Instantly share code, notes, and snippets.

@lindsaykwardell
Last active September 30, 2021 19:40
Show Gist options
  • Select an option

  • Save lindsaykwardell/c8f8b9de164c4b848111c190259932af to your computer and use it in GitHub Desktop.

Select an option

Save lindsaykwardell/c8f8b9de164c4b848111c190259932af to your computer and use it in GitHub Desktop.
Useful scripts for working on Abstract Wikipedia
docker-compose exec mediawiki php maintenance/sql.php
#!/bin/bash
currentDir=`pwd`
cd ~/dev/mediawiki
docker-compose stop
cd $currentDir
#!/bin/bash
cd ~/dev/mediawiki
docker-compose logs -f
#!/bin/bash
currentDir=`pwd`
cd ~/dev/mediawiki
docker-compose up -d
cd $currentDir
set -e
if [ $# -lt 2 ]; then
echo 'Usage: blubber config.yaml variant'
exit 1
fi
curl -s -H 'content-type: application/yaml' --data-binary @"$1" https://blubberoid.wikimedia.org/v1/"$2"
blubber .pipeline/blubber.yaml development | docker build -t test-orchestrator -f - .
version: '3.7'
services:
# These lines ensure file ownership is set to your host user/group
mediawiki:
user: "${MW_DOCKER_UID}:${MW_DOCKER_GID}"
# Linux users only: this extra_hosts section is necessary for Xdebug:
extra_hosts:
- "host.docker.internal:host-gateway"
mediawiki-web:
user: "${MW_DOCKER_UID}:${MW_DOCKER_GID}"
mediawiki-jobrunner:
user: "${MW_DOCKER_UID}:${MW_DOCKER_GID}"
function-orchestrator:
image: test-orchestrator:latest
ports:
- 6245:6245
function-evaluator:
image: test-evaluator:latest
ports:
- 6927:6927
<?php
# This file was automatically generated by the MediaWiki 1.37.0-alpha
# installer. If you make manual changes, please keep track in case you
# need to recreate them later.
#
# See includes/DefaultSettings.php for all configurable settings
# and their default values, but don't forget to make changes in _this_
# file, not there.
#
# Further documentation for configuration settings may be found at:
# https://www.mediawiki.org/wiki/Manual:Configuration_settings
# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) {
exit;
}
## Include platform/distribution defaults
require_once "$IP/includes/PlatformSettings.php";
## Uncomment this to disable output compression
# $wgDisableOutputCompression = true;
$wgSitename = "MediaWiki";
$wgMetaNamespace = "Project";
## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "/w";
## The protocol and server name to use in fully-qualified URLs
$wgServer = "http://192.168.0.3:8080";
## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;
## The URL paths to the logo. Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/wiki.png" ];
## UPO means: this is also a user preference option
$wgEnableEmail = true;
$wgEnableUserEmail = true; # UPO
$wgEmergencyContact = "apache@localhost";
$wgPasswordSender = "apache@localhost";
$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;
## Database settings
$wgDBtype = "sqlite";
$wgDBserver = "";
$wgDBname = "my_wiki";
$wgDBuser = "";
$wgDBpassword = "";
# SQLite-specific settings
$wgSQLiteDataDir = "/var/www/html/w/cache/sqlite";
$wgObjectCaches[CACHE_DB] = [
'class' => SqlBagOStuff::class,
'loggroup' => 'SQLBagOStuff',
'server' => [
'type' => 'sqlite',
'dbname' => 'wikicache',
'tablePrefix' => '',
'variables' => [ 'synchronous' => 'NORMAL' ],
'dbDirectory' => $wgSQLiteDataDir,
'trxMode' => 'IMMEDIATE',
'flags' => 0
]
];
$wgLocalisationCacheConf['storeServer'] = [
'type' => 'sqlite',
'dbname' => "{$wgDBname}_l10n_cache",
'tablePrefix' => '',
'variables' => [ 'synchronous' => 'NORMAL' ],
'dbDirectory' => $wgSQLiteDataDir,
'trxMode' => 'IMMEDIATE',
'flags' => 0
];
$wgJobTypeConf['default'] = [
'class' => 'JobQueueDB',
'claimTTL' => 3600,
'server' => [
'type' => 'sqlite',
'dbname' => "{$wgDBname}_jobqueue",
'tablePrefix' => '',
'variables' => [ 'synchronous' => 'NORMAL' ],
'dbDirectory' => $wgSQLiteDataDir,
'trxMode' => 'IMMEDIATE',
'flags' => 0
]
];
# Shared database table
# This has no effect unless $wgSharedDB is also set.
$wgSharedTables[] = "actor";
## Shared memory settings
$wgMainCacheType = CACHE_ACCEL;
$wgMemCachedServers = [];
## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = false;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = false;
# Periodically send a pingback to https://www.mediawiki.org/ with basic data
# about this MediaWiki instance. The Wikimedia Foundation shares this data
# with MediaWiki developers to help guide future development efforts.
$wgPingback = false;
## If you use ImageMagick (or any other shell command) on a
## Linux server, this will need to be set to the name of an
## available UTF-8 locale. This should ideally be set to an English
## language locale so that the behaviour of C library functions will
## be consistent with typical installations. Use $wgLanguageCode to
## localise the wiki.
$wgShellLocale = "C.UTF-8";
## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publicly accessible from the web.
#$wgCacheDirectory = "$IP/cache";
# Site language code, should be one of the list in ./languages/data/Names.php
$wgLanguageCode = "en";
$wgSecretKey = "56cf063f1340d3df7b44b80f42cab425470ddbd4acd614903f33b6c56b975790";
# Changing this will log out all existing sessions.
$wgAuthenticationTokenVersion = "1";
# Site upgrade key. Must be set to a string (default provided) to turn on the
# web installer while LocalSettings.php is in place
$wgUpgradeKey = "4d1fa8c4b4b3ad5d";
## For attaching licensing metadata to pages, and displaying an
## appropriate copyright notice / icon. GNU Free Documentation
## License and Creative Commons licenses are supported so far.
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "";
$wgRightsText = "";
$wgRightsIcon = "";
# Path to the GNU diff3 utility. Used for conflict resolution.
$wgDiff3 = "/usr/bin/diff3";
## Default skin: you can change the default skin. Use the internal symbolic
## names, e.g. 'vector' or 'monobook':
$wgDefaultSkin = "vector";
# End of automatically generated settings.
# Add more configuration options below.
# Desktop view
wfLoadSkin( 'Vector' );
wfLoadExtension( 'WikiLambda' );
# Mobile view
wfLoadSkin( 'MinervaNeue' );
wfLoadExtension( 'MobileFrontend' );
# Enable Vue devtools
$wgVueDevelopmentMode = true;
#!/bin/bash
set -e
if [ -z $1 ]; then
echo "Please provide branch name (usually \"master\" or \"main\")."
exit 1
fi
git push origin HEAD:refs/for/"$1"
#!/bin/bash
cd ~/dev/mediawiki/extensions/WikiLambda
branch_name="$(git symbolic-ref HEAD 2>/dev/null)" ||
branch_name="(unnamed branch)"
if [ "$branch_name" == "refs/heads/master" ]; then
git pull
else
echo "Current branch is $branch_name, only pulling for master."
fi
git submodule update --init --recursive
cd ~/dev/function-orchestrator
branch_name="$(git symbolic-ref HEAD 2>/dev/null)" ||
branch_name="(unnamed branch)"
if [ "$branch_name" == "refs/heads/master" ]; then
git pull
else
echo "Current branch is $branch_name, only pulling for master."
fi
git submodule update --init --recursive
npm install
./blubberize
cd ~/dev/function-evaluator
branch_name="$(git symbolic-ref HEAD 2>/dev/null)" ||
branch_name="(unnamed branch)"
if [ "$branch_name" == "refs/heads/master" ]; then
git pull
else
echo "Current branch is $branch_name, only pulling for master."
fi
git submodule update --init --recursive
npm install
./blubberize
cd ~/dev/mediawiki/skins/Vector
git pull
cd ~/dev/mediawiki
branch_name="$(git symbolic-ref HEAD 2>/dev/null)" ||
branch_name="(unnamed branch)"
if [ "$branch_name" == "refs/heads/master" ]; then
git pull
else
echo "Current branch is $branch_name, only pulling for master."
fi
docker-compose down
docker-compose up -d
docker-compose exec mediawiki composer update
docker-compose exec mediawiki php maintenance/update.php --quick
docker-compose logs -f
#!/bin/bash
cd ~/dev/mediawiki
mv LocalSettings.php LocalSettings.php.bak
rm -rf ./cache/sqlite
docker-compose up -d
docker-compose exec mediawiki /bin/bash /docker/install.sh
rm LocalSettings.php
mv LocalSettings.php.bak LocalSettings.php
rebuild-aw
#!/bin/bash
currentDir=`pwd`
cd ~/dev/function-orchestrator
./blubberize
cd ~/dev/function-evaluator
./blubberize
cd ~/dev/mediawiki
docker-compose down
docker-compose up -d
docker-compose logs -f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment