The collaborative editing software that runs Wikipedia
https://gerrit.wikimedia.org/g/mediawiki/core
|
||
---|---|---|
.drone.yml | ||
.env.sample | ||
.gitignore | ||
abra.sh | ||
compose.openid.yml | ||
compose.simplesaml.yml | ||
compose.smtp.yml | ||
compose.yml | ||
composer.local.json.tmpl | ||
entrypoint.sh.tmpl | ||
entrypoint.simplesaml.sh.tmpl | ||
LocalSettings.php.tmpl | ||
php.ini.tmpl | ||
README.md | ||
renovate.json |
Mediawiki
- Category: Apps
- Status: 1, alpha
- Image:
mediawiki
, 4, upstream - Healthcheck: No
- Backups: Yes
- Email: 3
- Tests: 2
- SSO: 2 (OAuth, SAML)
Basic usage
- Set up Docker Swarm and
abra
- Deploy
coop-cloud/traefik
abra app new mediawiki --secrets
(optionally with--pass
if you'd like to save secrets inpass
)abra app config YOURAPPDOMAIN
- be sure to change$DOMAIN
to something that resolves to your Docker swarm boxabra app deploy YOURAPPDOMAIN
- Create an initial admin user:
abra app run YOURAPPDOMAIN app php /var/www/html/maintenance/createAndPromote.php --sysop YourUsername YourPassword
Coop Cloud mailu or postfix
abra app config YOURAPPDOMAIN
- edit.envrc
and uncomment theSMTP
lines. SetSMTP_HOST
topostfix_relay
forcoop-cloud/postfix_relay
, ormailu_front
forcoop-cloud/mailu
(assuming default stack names)- For
postfix_relay
, add the domain to your email config –EXTRA_SENDER_DOMAINS
inpostfix_relay
. This doesn't seem to be required for Mailu. abra app deploy YOURAPPDOMAIN
Remote provider
abra app config YOURAPPDOMAIN
- uncommentSMTP
under the "remote email provider" section and set values forSMTP_HOST
,SMTP_PORT
andSMTP_USER
abra app secret insert YOURAPPDOMAIN smtp_password v1 YOURSMTPPASSWORD
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!
abra app config YOURAPPDOMAIN
- uncomment lines in theSAML
section (includingCOMPOSE_FILE
)- Generate secrets: (add
--pass
if you want to store secrets inpass
)abra app YOURAPPDOMAIN secret generate saml_admin_password v1 abra app YOURAPPDOMAIN secret generate saml_secret_salt v1 "pwgen -n 64 1"
abra app deploy YOURAPPDOMAIN
- Copy your SimpleSAMLphp metadata and certificates to the container (assuming
you have local
metadata
andcert
folders:abra app YOURAPPDOMAIN cp metadata simplesaml:/var/simplesamlphp/ abra app YOURAPPDOMAIN cp cert simplesaml:/var/simplesamlphp/
- You can log into SimpleSAMLphp using the password you generated at https://$DOMAIN/simplesaml/ and test authentication
- Edit SimpleSAMLphp's
config.php
and changestore.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
abra app config YOURAPPDOMAIN
- uncomment lines in theOPENID
section (includingCOMPOSE_FILE
)- Store your Keycloak-generated client secret in Docker:
abra app YOURAPPDOMAIN secret insert openid_client_secret v1 put-your-secret-here
abra app deploy YOURAPPDOMAIN
License
MIT License