WDscholia / scholia

Wikidata-based scholarly profiles
https://scholia.toolforge.org
Other
226 stars 81 forks source link

Dockerization of Scholia #966

Open Daniel-Mietchen opened 5 years ago

Daniel-Mietchen commented 5 years ago

Pasting in some notes from various non-public channels to aid with documentation.

What we need is a combined container for a Scholia instance running on a stand-alone SPARQL endpoint whose timeouts and other configurations we control. Such an endpoint is included in the standard Wikibase Docker at https://github.com/wmde/wikibase-docker , which would be one way to go about this. Since we would want this endpoint to be synced to Wikidata (ideally in real time, though hourly or daily might be OK), we would have to look at https://www.wikidata.org/wiki/Wikidata:Data_access and especially https://www.wikidata.org/wiki/Wikidata:Database_download as well as existing tooling for handling dumps, e.g. as per https://www.wikidata.org/wiki/Wikidata:Tools/For_programmers . Most relevant here seems to be https://www.mediawiki.org/wiki/Wikidata_Toolkit .

Lots of good and bad dockerization out there - a well-documented example that I liked is https://github.com/grafana/grafana/search?q=is%3Aopen+is%3Aissue+docker&unscoped_q=is%3Aopen+is%3Aissue+docker

cthoyt commented 4 years ago

Do you want help with this?

I could imagine having one Dockerfile that just runs the server, then you could have configuration to point it at any given Wikidata SPARQL instance. This could also be orchestrated with docker-compose

Daniel-Mietchen commented 4 years ago

Help is always welcome. Perhaps start by checking what @nunogit is doing over at https://github.com/nunogit/scholia-docker .

nunogit commented 4 years ago

@cthoyt There's already a Dockerized version as @Daniel-Mietchen referred. I am currently running it in Openshift as well. I have started orchestration with docker-compose, but I am developing a couple of optimizations that I would like to see integrated on a next release.

nunogit commented 4 years ago

@egonw it already exists:

https://github.com/nunogit/scholia-docker

It's not only Scholia, but also a Nginx, for proxying

Things that would be nice to have (improve):