Skip to content
See if we can generate a Binder/repo2docker build of the TM351 VM
Jupyter Notebook Shell CSS Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows
.jupyter
binder
data
init_db/postgres
.gitignore
Getting Started - pymongo.ipynb
LICENSE
README.md
TM351 VM Installation Test.ipynb

README.md

tm351vm-binder

See if we can generate a Binder/repo2docker build of the TM351 VM

Open to Notebook homepage: Binder

Open to OpenRefine: Binder

Open to Jupyterlab: Binder

The TM351 Virtual Machine was originally developed as a vagrant launched VirtualBox Lunix virtual machine to support the Open University distance learning course TM351 Data Management and Analysis.

This build packages eveything within a single container.

The virtual machine includes:

  • Jupyter notebooks
  • lots of preinstalled Python packages
  • OpenRefine
  • a Postgres database server
  • a mongo database server

This repository is an attempt to get something similar running in MyBinder...

A Github Action is also used to build releases using repo2docker and puch the resulting container to Docker Hub.

The container can be found as ousefuldemos/tm351-binderised:latest.

The Jupyter notebook server runs on the default port 8888.

The container can be launched directly using containds, the desktop app for running notebook containers and a personal, local Binder service. Select a new image and search for tm351; the ousefuldemos/tm351-binderised image is the one you want. When prompted, select the "standard" launch route, NOT the 'Try to start Jupyter notebook' route.

To run the container from the command line on a Mac:

docker run --name tm351test --rm -d -p 8895:8888 -v $PWD/notebooks:/home/jovyan/notebooks -v $PWD/openrefine_projects:/home/jovyan/openrefine ousefuldemos/tm351-binderised:latest

This will serve the container on http://localhost:8895 and share folders from the current directory.

On Windows, I think you need to try something like the following [UNTESTED]:

docker run --name tm351test --rm -d -p 8895:8888 -v c:\tm129share\notebooks:c:\home\jovyan\notebooks -v c:\tm129share\openrefine_projects:c:\home\jovyan\openrefine ousefuldemos/tm351-binderised:latest

In order to access the notebook server via your browser, you will need to find the token used to access the notebook server. Run:

docker exec -it tm351test jupyter notebook list

This will display something along the lines of:

Currently running servers: http://0.0.0.0:8888/?token=dca25d6755dbd2a1c9b346dca3b8c839e44c9271e20bc416 :: /home/jovyan

Use the token value to log in to the server.

The run command will create a notebooks directory in the directory you issued the run command from, and then share it into the notebooks folder that you can see from the notebook server homepage. OpenRefine projects are also shared between your local machine and the container.

Files that exist outside the /home/joyan/notebooks and /home/jovyan/openrefine directory paths in the container (which is to say, outside the notebooks and openrefine directories viewable from the notebook server homepage, will not be shared to your local desktop.

You can’t perform that action at this time.