Jump to content

Help:Toolforge

From Wikitech

This is the landing page for Toolforge user documentation. It provides an overview of Toolforge features and capabilities, then directs you to where you can learn more or get started using the platform.

Create or deploy your own tools on Toolforge

What is Toolforge?

Toolforge is a free cloud hosting platform for Wikimedia contributors. It provides web servers, data access, job management, and other features to help developers maintain tools and bots.

Toolforge is part of the Wikimedia Cloud Services (WMCS) suite of services. It is supported by Wikimedia Foundation staff and volunteers.

To learn more about how Toolforge works, see About Toolforge.

What are tools and bots?

Tools are software applications that help people working on Wikimedia projects. Bots are automated programs that help wiki projects by doing crucial but repetitive tasks. Tools and bots can do all kinds of tasks, like help editors discover content to improve, simplify edit-a-thon planning, visualize wiki content, help fight vandalism, and much more.

Many tools and bots use MediaWiki APIs to access wiki content, metadata, analytics data, and more. You can use these APIs to build apps that contribute content or new functionality to the Wikimedia ecosystem, then host your app on Toolforge.

See the Wikimedia technical ecosystem overview to learn more about how tools and bots help the movement.

Main features of Toolforge

Constraints of Toolforge

  • All code run on Toolforge must benefit the Wikimedia movement.
  • Use of Toolforge is subject to the general Cloud Services Terms of Use and the Toolforge-specific rules and policies.
  • Because Toolforge is a managed service, you are limited to the packages provided by the Wikimedia Foundation on its servers or installed through build service. If your project requires that you administer your own virtual server, consider Cloud VPS instead.
  • Memory and storage is limited to 2 virtual CPUs and 8 GB of RAM. The maximum recommended per-job memory limit is 4GB. If your project requires more memory, you can request a quota increase, or use Cloud VPS instead. Learn more about quotas.
  • Make sure that your tools don't open too many connections to the wiki sites in parallel, currently there's a hard limit of 500 simultaneous connections to each wiki so any misbehaving tool might be stopped without warning if they are using more than 50 simultaneous connections to wikis at a time.

What tools are hosted on Toolforge?

Toolforge hosts various types of tools, including web services, continuous bots, and scheduled tasks.

To explore tools by type, visit Toolhub. To see all the tools currently hosted on Toolforge, use the Toolforge admin console ("toolsadmin").

Before you start

To use Toolforge, you need:

  • Some programming knowledge
  • An understanding of Unix command line
  • An SSH client (included with most modern operating systems)
  • A Wikimedia developer account, and a Wikimedia account (used to log in to Wikipedia and other Wikimedia wikis)

Get started

Follow the Toolforge quickstart guide to create your tool account and get started using Toolforge.

To get familiar with MediaWiki APIs, try a tutorial, or prototype your code in PAWS, a Jupyter notebook installation hosted by Wikimedia.

Communication and support

Support and administration of the WMCS resources is provided by the Wikimedia Foundation Cloud Services team and Wikimedia movement volunteers. Please reach out with questions and join the conversation:

Discuss and receive general support
Stay aware of critical changes and plans
Track work tasks and report bugs

Use a subproject of the #Cloud-Services Phabricator project to track confirmed bug reports and feature requests about the Cloud Services infrastructure itself

Read stories and WMCS blog posts

Read the Cloud Services Blog (for the broader Wikimedia movement, see the Wikimedia Technical Blog)