infra-role-mediawiki/README.md

62 lines
2.7 KiB
Markdown
Raw Normal View History

# Description
This role deploys and instance of [MediaWiki](https://www.mediawiki.org/wiki/MediaWiki), which is a collaborative editing software written in PHP.
# Configuration
A bare minimum configuration would include:
```yaml
mediawiki_domain: 'wiki.example.org'
mediawiki_email: 'devops@example.org'
mediawiki_sitename: 'Logos'
mediawiki_bitnami_debug: false
mediawiki_admin_username: 'admin'
mediawiki_admin_password: 'super-secret-admin-password'
mediawiki_db_pass: 'super-secret-db-password'
mediawiki_secret_key: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
mediawiki_upgrade_key: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
```
You should also configure email sending:
```yaml
mediawiki_smtp_enabled: true
mediawiki_smtp_host: 'smtp.example.org'
mediawiki_smtp_port: 587
mediawiki_smtp_user: 'username'
mediawiki_smtp_password: 'super-secret-password'
```
In addition custom skinds and assets are installed using:
```yaml
mediawiki_skin_repo_url: 'https://github.com/example-org/mediawiki-skin.git'
```
Unfortunately this does not support an actual skin repo but instead assumes the repo contains a folders called `Vector`, `languages` and `resources`. This of course makes absolutely no sense, but it is what it is.
# Management
## Service
Deployment and management is done using [Docker Compose](https://docs.docker.com/compose/):
```
admin@node-01.do-ams3.wiki.logos:/docker/mediawiki % docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------------
mediawiki-app /opt/bitnami/scripts/media ... Up 0.0.0.0:8080->8080/tcp, 8443/tcp
mediawiki-db docker-entrypoint.sh --per ... Up (healthy) 127.0.0.1:3306->3306/tcp, 33060/tcp
```
## Users
Two plugins have been installed to manage users: `` and ``
They make available two special pages under:
* https://wiki.example.org/wiki/Special:UserManager
* https://wiki.example.org/wiki/Special:GroupManager
# Known Issues
The [initialization scripts](https://github.com/bitnami/containers/blob/fd485db5011eca0c92b4d630c0328ae56236652c/bitnami/mediawiki/1/debian-11/rootfs/opt/bitnami/scripts/libmediawiki.sh#L113-L121) in `bitnami` Docker image do not run [`install.php`](https://github.com/wikimedia/mediawiki/blob/1.40.0/maintenance/install.php) if any volumes under `/bitnami/mediawiki` are mounted. For that reason we do not add the volumes at first startup, and allow the bootstrapping process - especially database schema creation - to run. Once that is done we can create and mount our own config and skins.
# Links
* https://github.com/status-im/infra-logos-office/issues/13