Project

General

Profile

Feature #2377

Release a Docker Image?

Added by Jiang Qian about 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
06/03/2019
Due date:
% Done:

100%


Description

Dear Mr. Murphy,

As I said in my previous bug report (concerning missing works of Thucydides and exporting Plutarch's Lives as a single epub), I found textcritical extremely helpful. I do hope to be able to run it on my local machine. I myself is a longterm linux user (using it exclusively as desktop since 2002) and have experience in scientific computing (I'm a theoretical physicist by training), but have little web-development experience. I read through your instruction https://lukemurphey.net/projects/ancient-text-reader/wiki/Setup_And_Install but am a bit apprehensive about setting it up. If I follow it step by step, would it be relatively straightforward to get a local copy of textcritical running?

In any case, it would be much easier if you could release a docker image, with perseus database already imported, so that the user can start the webserver in the container and put in a local URL (127.0.0.1) and get a local mirror up and running. That would presumably be a lot easier than to set up and install by following the instruction above.

I am interested in running a local copy of textcritical not merely as a curiosity. I want to package the locally running site (either perseus scaife or textcritical) into an easily usable, point and click Virtualbox image, so that my friends in China where internet is censored and oversea web access intermittent, could use these database locally.

Though internet access has greatly improved, it is not so reliable in many corners of the world. This is particularly true when certain repressive government deliberately slow and block access to the outside world. I can speak from experience from my frequent visits to my native China, where there are many, may students and scholars interested in western Classical languages, literature and philosophy, yet the government tried to make access to the outside "Internet" as slow and high-latency as they could, making consulting a highly interactive digital humanities project like Perseus a frustrating experience.

I can also imagine that lack of basic infrastructure has similar effects for scholars in countries in the Indian subcontinent, Africa and even certain Eastern European countries (for example Russia recently passed her own internet restriction laws.)

Finally, for an archaeologist working in a remove excavation with patchy internet access, such local based database, e.g. on her own laptop, by making so much classical literature easily accessible, will also be extremely valuable.

My motivation to package things into virtuablbox image is quite simple. It is cross platform and free (as in beer) and extremely easy to use. I could put the virtualbox image on a usb disk, together with virtualbox installer for linux, windows and mac, and get a running local copy with all the classical texts and parsing info accessible for a local school or college, or on a friend's PC, in a few hours. And you might be surprised the level of hunger and eagerness to learn western classics in China!

I don't know how difficult it is to package fully compiled docker container or a virtualbox image. I thought since you're already running textcritical on either a baremetal machine or a virtual instance in the cloud, it should be relatively easy to release an image. But of course, I'm no web developer. I am in fact surprised by how difficult it is for the Perseus team to keep their old Hopper website running, let alone to release a docker image, when I contacted the developer there for releasing a virtualbox image or a docker container (I call it Perseus in a Box). It seems that for them it is quite difficult to do so.

Again, this might be an overly ambitious feature request. Please let me know how feasible it is and what I could to to help!
Best Regards
Jiang


Subtasks

Feature #2415: Clarify directionsClosedLuke Murphey

Feature #2416: Verify that Dockerfile can be executedClosedLuke Murphey

Feature #2428: Confirm docker building worksClosedLuke Murphey

Associated revisions

Revision 971 (diff)
Added by lukemurphey almost 5 years ago

Adding creation of log directory for docker container

Reference #2377

Revision 975 (diff)
Added by lukemurphey almost 5 years ago

Updating DockerFile to create the database and admin user

Reference #2377

Revision 987 (diff)
Added by lukemurphey almost 5 years ago

Adding kindlegen to docker image

Reference #2377

History

#1 Updated by Luke Murphey about 5 years ago

I actually have a DockerFile for this project, see here: https://github.com/LukeMurphey/textcritical_net/blob/master/Dockerfile

The only problem is that it doesn't include the database with the works themselves. The reason is that the database is very large (about a 1 GB).

I did make documentation on how to import works to setup your own database, see here: https://lukemurphey.net/projects/ancient-text-reader/wiki/Setup_And_Install

I have considered distributing the database with the works already imported. The only issue is the size of it.

I look into seeing how best to distribute the database and will update the instructions in the DockerFile with how to get it to work with the library.

#2 Updated by Luke Murphey about 5 years ago

  • Target version set to 3.1

#3 Updated by Jiang Qian about 5 years ago

Thank you for your very helpful response!

I downloaded the Dockerfile from the link you provided (using "raw" source), and run
docker build -t textcritical .

However, it seems to have halted at this point:
Step 4/11 : COPY src/requirements.txt /usr/src/app/
COPY failed: stat /var/lib/docker/tmp/docker-builder173185287/src/requirements.txt: no such file or directory

I assume this means the build has failed? when I type:
docker images
I get:
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> ad25181fe0d3 3 minutes ago 120MB
python 2-slim a93921f01a53 5 days ago 120MB

Do I have the docker image successfully installed? If I had built it successfully, where would the docker container file be located in my file directory?

As you can see, I'm completely new to docker. Any help in debugging it would be most appreciated. Thank you!

Best Regards
Jiang

#4 Updated by Luke Murphey almost 5 years ago

  • Status changed from New to Closed
  • Assignee set to Luke Murphey

Also available in: Atom PDF