Docker/Hub

Docker maintains a list of official images which "are a curated set of Docker repositories hosted on Docker Hub." These images are official to Docker not to MediaWiki. The images meet Docker's best practices of what they believe makes a good base image, it does not fulfill all of the roles and capabilities that MediaWiki has to offer. The image intentionally includes only the minimal amount of software necessary to run MediaWiki. It is designed to be extended from rather than used directly.

The MediaWiki image can be found at:

https://hub.docker.com/_/mediawiki

The source code can be found at:

https://github.com/wikimedia/mediawiki-docker

When changes are made to this git repository, they must be deployed to Docker hub by modifying the configuration file in their repository:

https://github.com/docker-library/official-images/blob/master/library/mediawiki

Using on a single web server
A multi-server environment should use Kubernetes instead of Docker Compose. In fact, it may be better for a single server to use microk8s than Docker Compose.

For users operating in virtual machines, such as libxen or qubes appVM's, microk8s may not run well or at all. For learning/testing mediawiki's docker usage, these instructions exist.

Quick Start

 * 1) Install Docker
 * 2) Install Docker Compose
 * 3) Create a folder for your project.
 * 4) Create a   with the sample contents.
 * 5) Run.
 * 6) After running the installer, add the  file and mount it into the container by uncommenting the relevant line in your.

Initial
This sample assumes you will use a SQLite database. This makes MediaWiki available on port. version: '3.2' services: web: image: mediawiki ports: - 80:80    volumes: # - ./LocalSettings.php:/var/www/html/LocalSettings.php - database:/var/www/data - images:/var/www/html/images volumes: database: images:

Quick Start

 * 1) Install Docker
 * 2) Install Docker Compose
 * 3) Create a folder for your project.
 * 4) Create a   with the sample contents.
 * 5) Clone MediaWiki in a subfolder called.
 * 6) Install the PHP dependencies by running    or   if you have composer installed.
 * 7) Disable OPCache
 * 8) Run

Sample
This sample assumes you will use a SQLite database. This makes MediaWiki available on port. version: '3.2' services: web: image: mediawiki ports: - 8888:80    volumes: - ./html:/var/www/html:cached - database:/var/www/data volumes: database:

Disabling OPCache
Create a  file in the web root, typically   with the following content:

php_flag opcache.enable Off

Adding a Database Server
This is a more complex example with an attached MariaDB server. MediaWiki should be configured to reach the database server at the  hostname. version: '3.2' services: web: image: mediawiki links: - database volumes: - images:/var/www/html/images - ./LocalSettings.php:/var/www/html/LocalSettings.php database: image: mariadb environment: MYSQL_DATABASE: 'my_wiki' MYSQL_USER: 'wikiuser' MYSQL_PASSWORD: 'example' MYSQL_RANDOM_ROOT_PASSWORD: 'yes' volumes: - database:/var/lib/mysql volumes: database: images: