The MediaWiki code powering the Team Fortress Wiki
50K+
This repository is a clone from the production repository hosted on Valve's servers. It is in the process of being cleaned up and simplified into a set of Dockerfiles and supporting files, which can be used to reliably build an almost like-for-like reproduction of the Valve-hosted Team Fortress Wiki.
The key differences between the image built by these Dockerfiles and the Valve-hosted site are:
The wiki can be ran locally via docker-compose:
tfwiki/mediawiki:local image from source: maketfwiki.localhost to the host IP (presumably 127.0.0.1).env file with the variables to configure your stack (cp .env.example .env; .env.example is pre-configured for running locally)make certsdocker-compose up -dFor the first Dockerised build, we want to match (as closely as we can) to the Valve-hosted files, although with a cleaner repository.
MediaWiki do not publish a docker image for the version of MediaWiki we require (v1.26.2), so we have a fork of their repository building that image, which is published to tfwiki/mediawiki:base-1.26.2.
Once we have the entire site running via Docker, we'll then upgrading MediaWiki.
Dockerfile is responsible for the actual build of the TF Wiki. This Dockerfile moves MediaWiki's files to match the production TF Wiki's directory structure, and then we're adding our extensions, and necessary supporting files to configure the Docker container at runtime.
We can configure this tfwiki/mediawiki container with the following environmental variables:
| Variable | Default | Associated MediaWiki variable | Notes |
|---|---|---|---|
CAPTCHA_SECRET | Required | $wgCaptchaSecret | |
DB_DB | wiki | $wgDBname | |
DB_HOST | db | $wgDBserver | |
DB_PASSWORD | – | $wgDBpassword | |
DB_TYPE | mysql | $wgDBtype | |
DB_USER | wiki | $wgDBuser | |
EMAIL_EMERGENCY_CONTACT | Required with SMTP_* | $wgEmergencyContact | |
EMAIL_PASSWORD_SENDER | Required with SMTP_* | $wgPasswordSender | |
SENTRY_DSN | - | Used to report errors to Sentry | |
SMTP_HOST | - | $wgSMTP['Host'] | |
SMTP_IDHOST | - | $wgSMTP['IDHost'] | |
SMTP_PORT | - | $wgSMTP['port'] | |
SMTP_AUTH | - | $wgSMTP['auth'] | |
SMTP_USERNAME | - | $wgSMTP['username'] | |
SMTP_PASSWORD | - | $wgSMTP['password'] | |
MEMCACHED_HOST | $wgMemCachedServers | Can declare CSV. If this is blank we'll use MediaWiki's default cache settings | |
SECRET_KEY | Required | $wgSecretKey | |
SERVER_URL | Required | $wgServer | |
SITENAME | Team Fortress Wiki | $wgSitename | |
STEAM_API_KEY | N/A | ||
VARNISH_HOST | varnish | $wgSquidServers | Can declare CSV. If this is blank and Varnish is used, MediaWiki won't purge items from the cache |
| `TRUSTED_PROXIES | wiki.teamfortress.com,10.138.0.0/24 | $wgSquidServersNoPurge | Can declare CSV. Make sure MediaWiki can properly resolve IP addresses through external load balancers |
Content type
Image
Digest
Size
327.7 MB
Last updated
over 5 years ago
docker pull tfwiki/mediawiki:1.31-tfwiki6