The collaborative editing software that runs Wikipedia, for Social Coop.
Go to file
3wc dd623d7e43 Add MEDIAWIKI_PROXY_SERVERS setting 2023-09-03 17:07:10 +02:00
.drone.yml Switch to self-hosted stack-ssh-deploy image [mass update] 2023-01-21 11:49:56 -08:00
.env.sample enable registration 2023-06-30 11:17:54 +02:00
.gitignore Ignore live .envrc 2020-09-06 14:00:55 +02:00
LocalSettings.php.tmpl Add MEDIAWIKI_PROXY_SERVERS setting 2023-09-03 17:07:10 +02:00
README.md add remote smtp 2023-06-30 10:39:25 +02:00
abra.sh Disable throttling temporarily to work around too-eager-throttling due 2023-09-01 17:41:25 +02:00
compose.openid.yml Ad SECRET_ to secret names so abra can find them 2020-12-27 15:55:26 +02:00
compose.simplesaml.yml Update to new SimpleSAML 2023-01-24 19:54:23 -08:00
compose.smtp.yml add remote smtp 2023-06-30 10:39:25 +02:00
compose.yml chore: publish 2.5.0+1.39.3 release 2023-07-23 15:52:31 +01:00
composer.local.json.tmpl SemanticMediaWiki now works -- after installing with composer :) 2023-05-08 22:25:52 +02:00
entrypoint.sh.tmpl Fix new deployments? 2023-06-25 21:17:02 +01:00
entrypoint.simplesaml.sh.tmpl Rename services, add EXTRA_DOMAINS 2020-10-06 01:32:46 +02:00
php.ini.tmpl Add MobileFrontend support and fix issues spotted during PR review :D 2023-05-30 23:46:40 +02:00
renovate.json Add renovate.json 2020-09-14 20:02:21 +00:00

README.md

Mediawiki

Build Status

  • Category: Apps
  • Status: 1, alpha
  • Image: mediawiki, 4, upstream
  • Healthcheck: No
  • Backups: Yes
  • Email: 3
  • Tests: 2
  • SSO: 2 (OAuth, SAML)

Basic usage

  1. Set up Docker Swarm and abra
  2. Deploy coop-cloud/traefik
  3. abra app new mediawiki --secrets (optionally with --pass if you'd like to save secrets in pass)
  4. abra app config YOURAPPDOMAIN - be sure to change $DOMAIN to something that resolves to your Docker swarm box
  5. abra app deploy YOURAPPDOMAIN
  6. Create an initial admin user: abra app run YOURAPPDOMAIN app php /var/www/html/maintenance/createAndPromote.php --sysop YourUsername YourPassword

Email

Coop Cloud mailu or postfix

  1. abra app config YOURAPPDOMAIN - 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. abra app deploy YOURAPPDOMAIN

Remote provider

  1. abra app config YOURAPPDOMAIN - uncomment SMTP under the "remote email provider" section and set values for SMTP_HOST, SMTP_PORT and SMTP_USER
  2. abra app secret insert YOURAPPDOMAIN smtp_password v1 YOURSMTPPASSWORD
  3. abra app deploy YOURAPPDOMAIN

Note: Only STARTTLS is supported, TLS won't work.

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

OpenID Connect

  1. abra app config YOURAPPDOMAIN - uncomment lines in the OPENID section (including COMPOSE_FILE)
  2. Store your Keycloak-generated client secret in Docker:
abra app YOURAPPDOMAIN secret insert openid_client_secret v1 put-your-secret-here
  1. abra app deploy YOURAPPDOMAIN

License

MIT License