This is our web-based metadata annotater for data repositories. We are developing in Django, a Python web framework, and the whole project will be encapsulated in a Docker container for easy redeployment and re-use by the community.
What's in this Git repo?
- README.md - this readme file
- DockerFile - a bash script used for installing this Django app and all dependencies in a Docker container.
- metamaker_django - a folder containing the Django app
- dev_notes - a folder containing notes from our development process. Look here for the basic specification and our TODO list alongside other development docs such as 'use cases' and 'information model' etc.
Other sources of information
Alongside the 'dev_notes' folder here, we have a Trello board that is publicly viewable here: https://trello.com/b/SjGBij0d/metamaker-development
Contact us if you want to get added to the Trello or you can raise an issue on GitHub.
Where's the live website?
Currently the site isn't live. Actually, currently the site isn't anything - this is my initial commit!
The expected way for users to install this system would be to simply run the Docker container. More details will follow but you can find out how to install Docker and run through a great tutorial at https://docs.docker.com/mac/
It would also be possible to simply copy the metamaker_django folder to your own system and then run as a Django app.
Run using Docker
If you have docker installed (see the link above), then you can open the Docker commandline and use the following command:
$> docker run -d -p 8000:8000 onsopendata/metamaker
This should go direct to DockerHub, download the container and set it running in the background. It'll map the Django webserver's port (8000) to the hosts port (8000) and so if you're running Linux on your host system you should (I think) be able to access the Django app by opening a web browser and navigating to http://127.0.0.1:8000
On a Mac your docker container will itself be running in a VirtualBox container. To find out what the IP address is for that outer container, user the command:
$> docker-machine ls
This should produce a result like:
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default * virtualbox Running tcp://192.168.99.100:2376 v1.11.0
You can browse to the URL in this result but using port 8000 i.e. http://192.168.99.100:8000
If you think we've updated the Dockerfile since you last grabbed it from Docker Hub, you can update your local Docker machine using the command:
$> docker pull onsopendata/metamaker
This ought to look for differences between our latest image and your local copy and then update yours accordingly.
If you've run the docker image, it'll stay running in the background until you kill it. This can cause you to receive an error if you try running the image again while the previous run is still ongoing. In order to list running machines, use the following command:
$> docker ps
You can then kill any running docker container using the container ID e.g. dd60d00b5deb
$> docker kill dd60d00b5deb