The collaborative editing software that runs Wikipedia
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
3wc 4812fc9829 Tweak DB initialisation 1 week ago
.drone.yml Update Drone for new variable names 1 month ago
.env.sample Tweak DB initialisation 1 week ago
.gitignore Ignore live .envrc 5 months ago
LocalSettings.php.tmpl Drop default header 1 week ago
README.md Run formatter 1 week ago
abra.sh Tweak DB initialisation 1 week ago
compose.openid.yml Ad SECRET_ to secret names so abra can find them 2 months ago
compose.simplesaml.yml Run formatter 1 week ago
compose.yml Remove extra proxy spec 1 week ago
composer.local.json.tmpl Rename composer local file 4 months ago
entrypoint.sh.tmpl Tweak DB initialisation 1 week ago
entrypoint.simplesaml.sh.tmpl Rename services, add EXTRA_DOMAINS 4 months ago
php.ini.tmpl Add template file ending 3 months ago
renovate.json Add renovate.json 5 months ago

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. abra app new mediawiki
  4. abra app YOURAPPDOMAIN config - be sure to change $DOMAIN to something that resolves to your Docker swarm box
  5. abra app YOURAPPDOMAIN secret auto (optionally with --pass if you'd like to save secrets in pass).
  6. abra app YOURAPPDOMAIN deploy
  7. Create an initial admin user: abra run app php /var/www/html/maintenance/createAndPromote.php --sysop YourUsername YourPassword

Email

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

License

MIT License