A collection of Wikibase services installed via Docker Compose V2:
Based on the example of wikibase-release-pipeline repository.
All the services are accessed through a single URL through the https protocol configured using a Let's Encrypt certificate.
Move to the services
folder.
Configure parameters.
Replace at least the following parameters in .env file.
SITENAME
. Sitename for your site.VIRTUAL_HOST
. Your server dns name.LETSENCRYPT_EMAIL
. An email to use with LetsEncrypt.MW_ADMIN_EMAIL
. The Wikibase admin email.MW_ADMIN_PASS
. Wikibase password.MW_SECRET_KEY
.DB_PASS
. Internal database password.DB_ROOT_PASS
. The root
user database password.Apply custom parameters.
. .env
envsubst '$SITENAME,$VIRTUAL_HOST' < wiki/LocalSettings.php.template > wiki/LocalSettings.php
envsubst '$SITENAME,$VIRTUAL_HOST' < wiki/pages/MediaWiki\:SideBar.template > wiki/pages/MediaWiki\:SideBar
envsubst '$SITENAME,$VIRTUAL_HOST' < reconcile/config.py.template > reconcile/config.py
Replace your logo. Replace the wiki/wiki.png
image for your own logo.
Create suite.
docker compose up -d
https://${VIRTUAL_HOST}/wiki/
https://${VIRTUAL_HOST}/query/
https://${VIRTUAL_HOST}/qs/
https://${VIRTUAL_HOST}/reconcile/
https://${VIRTUAL_HOST}/openrefine/
https://${VIRTUAL_HOST}/openrefine-data/
docker compose stop
docker compose start
docker compose start
This is a backup at docker volume level, so if some service is upgraded to a new version, backward compatibility is not guaranteed.
The backup is stored inside ~/backup
folder.
./backup.sh
Restore a previous backup.
./restore.sh <backup folder name>
https://${VIRTUAL_HOST}/wiki/MediaWiki:SideBar
.wiki/pages/MediaWiki:SideBar
.wiki/LocalSettings.php
and add the following lines and restart the services.
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
Check ACME companion logs for more details:
docker logs services-acme-companion-1
In case you see a [rate limits|https://letsencrypt.org/docs/rate-limits/] error, try to enable LetsEncrypt debug during your tests to avoid exceeding the rate limits.
Uncomment LETS_ENCRYPT_TEST: true
in docker-compose.proxy.yml
and restart the services.
Check logs for more details:
docker logs services-wdqs-updater-1
If you can see an error like: java.lang.IllegalStateException: RDF store reports the last update time is before the minimum safe poll time.
,
uncomment parameter WIKIBASE_MAX_DAYS_BACK
in .env
file setting an enough number of days and restart the services.