The collaborative editing software that runs Wikipedia https://gerrit.wikimedia.org/g/mediawiki/core
Go to file
Luke Murphy ceca47f3b4
continuous-integration/drone/push Build is failing Details
Add template file ending
2020-10-30 14:26:58 +01:00
.drone.yml Further post-image-switch tidying 2020-10-24 19:04:24 +02:00
.envrc.sample Switch over to php.ini file 2020-10-30 14:26:05 +01:00
.gitignore Ignore live .envrc 2020-09-06 14:00:55 +02:00
LocalSettings.php.tmpl Add 10mb upload limit 2020-10-30 13:56:47 +01:00
README.md Fix Mailu instructions 2020-10-24 20:13:39 +02:00
compose.mailrelay.yml Add missing compose.mailrelay.yml 2020-10-24 04:07:18 +02:00
compose.openid.yml Add missing config for openid config 2020-10-19 16:56:50 +02:00
compose.simplesaml.yml Further post-image-switch tidying 2020-10-24 19:04:24 +02:00
compose.yml Switch over to php.ini file 2020-10-30 14:26:05 +01:00
composer.local.json.tmpl Rename composer local file 2020-10-19 16:53:12 +02:00
entrypoint.sh.tmpl Further post-image-switch tidying 2020-10-24 19:04:24 +02:00
entrypoint.simplesaml.sh.tmpl Rename services, add EXTRA_DOMAINS 2020-10-06 01:32:46 +02:00
php.ini.tmpl Add template file ending 2020-10-30 14:26:58 +01:00
renovate.json Add renovate.json 2020-09-14 20:02:21 +00:00

README.md

Mediawiki

Build Status

Mediawiki version 1.35

Requires Docker version 1.11.2 or above to run.

Based on mediawiki.

  1. Set up Docker Swarm and abra
  2. Deploy coop-cloud/traefik
  3. cp .envrc.sample .envrc
  4. Edit .envrc - be sure to change $DOMAIN to something that resolves to your Docker swarm box
  5. direnv allow (or source .envrc)
  6. Generate secrets:
    abra secret_generate db_password v1
    abra secret_generate db_root_password v1
    abra secret_generate mediawiki_secret_key v1 "pwgen -n 64 1"
    
  7. abra deploy
  8. Create an initial admin user: abra run app php /var/www/html/maintenance/createAndPromote.php --sysop YourUsername YourPassword

Email

  1. Edit .envrc and uncomment the SMTP lines. Set SMTP_HOST to postfix_relay for coop-cloud/postfix_relay, or mailu_front for coop-cloud/mailu (assuming default stack names)
  2. For postfix_relay, add the domain to your email config EXTRA_SENDER_DOMAINS in postfix_relay. This doesn't seem to be required for Mailu.
  3. direnv allow (or source .envrc)
  4. abra deploy

Single Sign On

SimpleSAMLphp

This app includes optional SAML Single Sign On using SimpleSAMLphp and Mediawiki's Extension:SimpleSAMLphp, based on the venatorfox/simplesamlphp image.

NOTE: currently, if you enable SAML then it'll disable Mediawiki's own user account system. Patches to make this configurable are welcome!

  1. Edit .envrc and uncomment lines in the SAML section (including COMPOSE_FILE)
  2. direnv allow
  3. Generate secrets:
    abra secret_generate saml_admin_password v1
    abra secret_generate saml_secret_salt v1 "pwgen -n 64 1"
    
  4. abra deploy
  5. Copy your SimpleSAMLphp metadata and certificates to the container (assuming you have local metadata and cert folders:
    abra cp metadata simplesaml:/var/simplesamlphp/
    abra cp cert simplesaml:/var/simplesamlphp/
    
  6. You can log into SimpleSAMLphp using the password you generated at https://$DOMAIN/simplesaml/ and test authentication
  7. Edit SimpleSAMLphp's config.php and change store.sql.dsn:
    abra run simplesaml vi /var/simplesamlphp/config/config.php
    # find 'store.sql.dsn' and edit to:
    # 'sqlite:/var/simplesamlphp/data/simplesamlphp.sq3'
    

OpenID Connect

  1. Edit .envrc and uncomment lines in the OPENID section (including COMPOSE_FILE)
  2. direnv allow
  3. Store your Keycloak-generated client secret in Docker:
abra secret insert openid_client_secret v1 put-your-secret-here
  1. abra deploy

License

MIT License