Setting up MediaWiki using Docker Compose and Mariadb: Difference between revisions

From JohnHobson.ws
Jump to navigation Jump to search
No edit summary
No edit summary
Line 9: Line 9:




<code># MediaWiki with MariaDB</code>


<code>#</code>


<code># Access via "<nowiki>http://localhost:8080</nowiki>"</code>
<nowiki>#</nowiki> MediaWiki with MariaDB


<code>#   (or "<nowiki>http://$(docker-machine</nowiki> ip):8080" if using docker-machine)</code>
<nowiki>#</nowiki>


<code>version: '3'</code>
<nowiki>#</nowiki> Access via "<nowiki>http://localhost:8080</nowiki>"


<code>services:</code>
<nowiki>#</nowiki>   (or "<nowiki>http://$(docker-machine</nowiki> ip):8080" if using docker-machine)


<code>  mediawiki:</code>
version: '3'


<code>    image: mediawiki</code>
services:


<code>    restart: always</code>
  mediawiki:


<code>    ports:</code>
    image: mediawiki


<code>      - 4820:80</code>
    restart: always


<code>    links:</code>
    ports:


<code>      - database</code>
      - 4820:80


<code>    volumes:</code>
    links:


<code>      - /home/john/docker/testwiki/images:/var/www/html/images</code>
      - database


<code>      # After initial setup, download LocalSettings.php to the same directory as</code>
    volumes:


<code>      # this yaml and uncomment the following line and use compose to restart</code>
      - /home/john/docker/testwiki/images:/var/www/html/images


<code>      # the mediawiki service</code>
      # After initial setup, download LocalSettings.php to the same directory as


<code>      #- /home/john/docker/testwiki/LocalSettings.php:/var/www/html/LocalSettings.php</code>
      # this yaml and uncomment the following line and use compose to restart


<code>  # This key also defines the name of the database host used during setup instead of the default "localhost"</code>
      # the mediawiki service


<code>  database:</code>
      #- /home/john/docker/testwiki/LocalSettings.php:/var/www/html/LocalSettings.php


<code>    image: mariadb</code>
  # This key also defines the name of the database host used during setup instead of the default "localhost"


<code>    restart: always</code>
  database:


<code>    ports:</code>
    image: mariadb


<code>      - 4840:3306</code>
    restart: always


<code>    environment:</code>
    ports:


<code>      # @see <nowiki>https://phabricator.wikimedia.org/source/mediawiki/browse/master/includes/DefaultSettings.php</nowiki></code>
      - 4840:3306


<code>      MYSQL_DATABASE: testwikidb</code>
    environment:


<code>      MYSQL_USER: testwikiuser</code>
      # @see <nowiki>https://phabricator.wikimedia.org/source/mediawiki/browse/master/includes/DefaultSettings.php</nowiki>


<code>      MYSQL_PASSWORD: testwikipassword</code>
      MYSQL_DATABASE: testwikidb


<code>      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'</code>
      MYSQL_USER: testwikiuser


<code>    volumes:</code>
      MYSQL_PASSWORD: testwikipassword


<code>      - /home/john/docker/testwikidb/db:/var/lib/mysql</code>
      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'


<code>volumes:</code>
    volumes:


<code>  images:</code>
      - /home/john/docker/testwikidb/db:/var/lib/mysql


<code>  db:</code>
volumes:
 
  images:
 
  db:

Revision as of 11:11, 22 November 2024

Back to Homepage

PREFACE - I am going to assume that you already have a server/PC with Linux installed. You will also need Docker and Docker-Compose installed

I found it a little hard to setup MediaWiki for the first time using Docker and getting all the database working correctly. I have now run a few instances of it and decided to write a short post on getting it working

1 - First we need to create our directory. For this test we will be using /home/john/docker/testwiki

2 - Inside this folder we need to create a file named docker-compse.yml and copy the following into it



# MediaWiki with MariaDB

#

# Access via "http://localhost:8080"

#   (or "http://$(docker-machine ip):8080" if using docker-machine)

version: '3'

services:

  mediawiki:

    image: mediawiki

    restart: always

    ports:

      - 4820:80

    links:

      - database

    volumes:

      - /home/john/docker/testwiki/images:/var/www/html/images

      # After initial setup, download LocalSettings.php to the same directory as

      # this yaml and uncomment the following line and use compose to restart

      # the mediawiki service

      #- /home/john/docker/testwiki/LocalSettings.php:/var/www/html/LocalSettings.php

  # This key also defines the name of the database host used during setup instead of the default "localhost"

  database:

    image: mariadb

    restart: always

    ports:

      - 4840:3306

    environment:

      # @see https://phabricator.wikimedia.org/source/mediawiki/browse/master/includes/DefaultSettings.php

      MYSQL_DATABASE: testwikidb

      MYSQL_USER: testwikiuser

      MYSQL_PASSWORD: testwikipassword

      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'

    volumes:

      - /home/john/docker/testwikidb/db:/var/lib/mysql

volumes:

  images:

  db: