Skip to content

Create a development environment

Releasev0.35.0 · cfeceb67

Watch it in action

Create a local MediaWiki environment

Install the CLI and Docker Engine 19.03 or newer (API 1.40+) with Docker Compose v2 first. Make sure docker info works for your user.

Start the setup wizard:

Terminal window
mw dev mediawiki create

Choose a local port, a MediaWiki checkout and cloning options. You can use an existing checkout or let the wizard fetch one. For an existing LocalSettings.php, read the configuration guide before reusing it.

Start MySQL and install the wiki:

Terminal window
mw dev mysql create
mw dev mediawiki install --dbtype=mysql
mw dev compose ps

Use the wiki credentials printed by the installer to sign into MediaWiki. They are separate from the gateway login.

The default port is 8080. Open http://default.mediawiki.local.wmftest.net:8080/wiki/Main_Page, or use http://localhost:8080/proxy/default/wiki/Main_Page through the gateway. Substitute the port and database name you selected.

Generate a gateway login link:

Terminal window
mw dev traefik credentials

Open its Login link, then visit http://localhost:8080/proxy/dashboard/ to find the running services. The gateway guide explains login sessions, service URLs and tunnels.

Terminal window
mw dev mediawiki get-code --extension VisualEditor
mw dev mediawiki get-code --skin MinervaNeue

Fetching an extension or skin does not enable it. Configure it in your checkout’s LocalSettings.php and run any required MediaWiki updates.

Use mw dev SERVICE --help for service commands. See the existing service interaction, MediaWiki and database guides for more workflows.

Use contexts for separate environments, or change the HTTP port of an existing environment.


Read this guide offline with mw help guides dev setup.

Adapted from MediaWiki.org under CC BY-SA 4.0; see the linked page history for contributors.

Report an issue with this page

Report a documentation issue

The report includes this page’s link, section and documentation version.

Review and submit on Phabricator, or run the command using your saved CLI profile. The command asks before creating the task.