oduwsdl / ipwb

InterPlanetary Wayback: A distributed and persistent archive replay system using IPFS
MIT License
606 stars 39 forks source link

Provide a system for live, demo-able deployment #625

Open machawk1 opened 4 years ago

machawk1 commented 4 years ago

While we have https://ipwb.ws-dl.cs.odu.edu/ built and deployed on each release, @ibnesayeed has expressed interest in using PWD (Playing with Docker) as a means of users deploying their own systems.

This could be from source, release, etc., to be determined.

ibnesayeed commented 4 years ago

It looks like the packaged IPFS daemon was broken at some point, it now does not boot when the container is started. We need to investigate it further and fix before we can move forward with this ticket.

machawk1 commented 4 years ago

Sawood, I am trying to replicate the issue you described in my local Docker instance. I build and run the container using:

docker container run -it --rm -p 5000:5000 oduwsdl/ipwb bash

Then run ipwb index samples/warcs/5mementos.warc | ipwb replay in the container. The daemon appears to start fine and I am able to run the previous command without directly interacting with the daemon.

Can you provide me with a procedure to replicate your issue?

ibnesayeed commented 4 years ago

I think I missed something when I was testing. Even the daemon on our test installation seems to be working now, which was not the case earlier.

machawk1 commented 4 years ago

@ibnesayeed Ok, so you are ok to keep working on getting a PWD environment setup?

ibnesayeed commented 4 years ago

I still need to figure a few things out, such as the proxy value because the sub-domain in the PWD environment is dynamic. and I also need to identify a good sample WARC file to be loaded in it.

machawk1 commented 4 years ago

Are you able to read the FQDN from a script that is invoked when the container starts up? Perhaps we can add a new build arg to the Dockerfile to read this value prior to execution.

ibnesayeed commented 4 years ago

Some of that information is available as environment variables injected by PWD which we have to read and put them together. If we could write the command in the Compose file with variables that will be lazily evaluated (i.e., inside of the container) then we might not need yet another bootstrapping script. I think it is possible using something like $$ENV_VAR_NAME, but I am yet to experiment with it.