Docker Compose · Wikibase · GPL v2
Auxiliary data services
for self-hosted Wikibase
A production-ready Docker Compose stack that adds SPARQL querying, full-text search, and batch editing to an existing Wikibase installation running on a native LAMP stack. No MediaWiki or MariaDB containers included — just the services you are missing.
Quick start
# Clone and configure git clone https://github.com/lucamauri/wikibase-data-services cp template.env .env # then fill in your values # Start the stack docker compose up -d docker compose ps # all services should be healthy
What's included
Six containerised services
Each service handles one concern. Together they fill the gap between a bare LAMP Wikibase and a fully featured wiki platform.
WDQS — Blazegraph
wikibase/wdqs:2
SPARQL query engine over your Wikibase entity data. Stores RDF triples and answers graph queries in real time.
WDQS Updater
wikibase/wdqs:2
Polls the Wikibase API for recent changes and pushes them into Blazegraph. Polling interval
is configurable via UPDATER_DELAY.
WDQS Frontend
wikibase/wdqs-frontend:2
Browser-based SPARQL query editor. Serves a clean /sparql endpoint URL. Fully
brandable via environment variables.
Elasticsearch
wikibase/elasticsearch:1
Full-text search backend for the MediaWiki CirrusSearch extension. Exposed on
127.0.0.1:9200 — not publicly accessible.
QuickStatements
custom build
Batch editing tool for Wikibase, patched for self-hosted operation. Fixes missing
mysqli, adds a cron batch runner, and injects OAuth credentials securely.
Traefik
traefik:3
Internal HTTP router. Routes traffic from your host reverse proxy to the correct container by
Host header. No TLS — terminated by Apache.
How it fits together
Architecture overview
Designed for deployments where Apache already handles TLS. Traefik stays on loopback and never touches the public internet.
│
▼
Apache :443 TLS termination · certbot · host-managed
│
▼
Anubis :8923 bot filtering · rate limiting (optional)
│
▼
Apache :8080 internal backend · loopback only
│
▼
Traefik :8880 routes by Host header · 127.0.0.1 only
│
├──► wdqs-frontend query.your-wiki.org
└──► quickstatements qs.your-wiki.org
Prerequisites
What you need first
This stack assumes Wikibase is already running. It adds the services Wikibase doesn't include.
- Docker 24.0 or later
- Docker Compose V2 (
docker compose) - Wikibase on a native LAMP stack
- Apache, Nginx, or Caddy for TLS
- ~3 GB available RAM for the full stack
- A public hostname for SPARQL and QuickStatements
Documentation
Guides and references
Step-by-step guides for every part of the setup, from data loading to OAuth registration.