- dataspects mediawiki-cli is is a tool set for managing MediaWiki instances on dataspects Snoopy.
mediawiki-cli
is exclusively used throughdataspects/mediawiki
container images (docker build).- For a development setup, see
mediawiki-cli production/development volume
intemplates/docker-compose.yml
.
Aspect | |
---|---|
docker-compose.yml |
See templates/docker-compose.yml for
|
/var/www/config/ |
|
In docker exec -it --workdir /var/www/manage/ <WIKI_CONTAINER_NAME> /bin/bash run... |
Purpose |
---|---|
./status.sh |
Status report |
php ./manage-config/view-mwm-config.php |
Check LocalSettings.php customizations (see Concepts) |
./manage-extensions/show-extension-catalogue.sh |
View MWStake-certified extensions |
./manage-extensions/enable-extension.sh <EXTENSION_NAME> |
! Enable MWStake-certified extensions |
./manage-extensions/disable-extension.sh <EXTENSION_NAME> |
! Disable MWStake-certified extensions |
./manage-content/inject-ontology-WikiPageContents.sh |
! Inject content from a repository (example) |
php manage-extensions/monitor.php |
View extensions installation aspects |
./manage-content/inject-local-wikitext.sh |
! Inject content from WikiPageContents |
./manage-content/inject-manage-page-from-mediawiki.org.sh |
! Copy content from wiki A into a wiki B (e.g. from mediawiki.org) |
./manage-snapshots/view-restic-snapshots.sh |
|
./manage-snapshots/take-restic-snapshot.sh |
|
./manage-snapshots/restore-restic-snapshot.sh |
|
./manage-snapshots/diff-restic-snapshots.sh |
When Docker initializes volumes, the corresponding contents from inside the container end up in the persistent volumes.
FIXME: When upgrading by running a new container, the skins/
, vendor/
and extensions/
folders must be consolidated.:
Let's say we upgrade from 1.35 to 1.36 and we had composer.local.json managing some content in vendor/
:
- Merge the new 1.36
skins/
,vendor/
andextensions/
content into the corresponding volumes, overwriting existing content and adding new content? (This would add new skins/extensions coming with MediaWiki 1.36 and/or being added by dataspects.) - Run a composer install or update?
HACK:
rm -r temp/* && docker cp $(docker create --rm dataspects/mediawiki:1.36.2-3.2.3_211026-aarch64):/var/www/html/w/<vendor|skins|extensions>/. temp/ && docker cp temp/. smwcindykate:/var/www/html/w/<vendor|skins|extensions>/
- Create a folder
mymediawiki/
- Copy
templates/docker-compose.yml
intomymediawiki/
- Fill in all
...
inmymediawiki/docker-compose.yml
- Create
mymediawiki/composer.local.json
andmymediawiki/composer.local.lock
each with content{}
- Run
docker-compose up
- Enter mymediawiki's process namespace by running
docker exec -it --workdir /var/www/manage mymediawiki /bin/bash
- At
/var/www/manage/install#
runinitialize-database.sh
andimport-database.sh
- At
/var/www/html/w#
runphp maintenance/update.php --quick
- At
/var/www/manage/#
runstatus.sh
- At
/var/www/manage/#
run./manage-config/initialize-mwcliconfigdb.sh
- At
/var/www/manage/#
runphp manage-config/addLineToMWMSQLite.php "config" "\$wgServer = 'http://mymediawiki:8080';"
- At
/var/www/manage/#
runphp manage-config/compileMWMLocalSettings.php
- At
/var/www/manage/#
runstatus.sh
- At
/var/www/config
create the filemwmLocalSettings_manual.php
with content<?php
- At
/var/www/manage
create the file./manage-extensions/show-extension-catalogue.sh
→ which extensions can be managed? - At
/var/www/manage
create the filephp ./manage-extensions/monitor.php
→ different perspectives on the wikis' extensions
(php ./manage-extensions/monitor.php | egrep --color -i 'labeled|wfLoadExtensions|---'
)