Awesome
Prometheus: Modelling as a Service
This is a repository for building a customised tmpnb server for optogenetics with PyRhO installed and configured. Credit to the Jupyter team for their work on tmpnb as one of the many great Jupyter projects!
For updates on PyRhO, follow us on twitter (@ProjectPyRhO).
Quickstart: Try PyRhO
Simply go to try.projectpyrho.org and enjoy!
Further Information
A paper introducing Prometheus and Modelling as a Service (MaaS) can be found here. If you use or adapt this work, please use the following citation:
Evans, B. D. and Nikolic, K. (2016) "From Bytes to Insights with Modelling as a Service: A new paradigm for computational modelling illustrated with PyRhO”, in 2016 IEEE Biomedical Circuits and Systems Conference (BioCAS), Shanghai, China. p316–319. doi:10.1109/BioCAS.2016.7833795
@InProceedings{Evans+Nikolic2016c,
author = {Evans, Benjamin D. and Nikolic, Konstantin},
booktitle = {2016 IEEE Biomedical Circuits and Systems Conference (BioCAS)},
title = {From Bytes to Insights with Modelling as a Service: A new paradigm for computational modelling illustrated with {PyRhO}},
year = {2016},
month = {Oct},
isbn = {978-1-5090-2959-4},
location = {Shanghai, China},
pages = {316--319},
publisher = {IEEE},
address = {New York, NY, USA},
doi = {10.1109/BioCAS.2016.7833795},
}
Interactive Docker image
To run the PyRhO docker image:
Clone the repository: git clone https://github.com/ProjectPyRhO/Prometheus.git && cd Prometheus
Start the docker service e.g.: sudo service docker start
Then run these commands to build the image and launch the notebook:
docker build -t pyrho/minimal .
docker run -p 8888:8888 -it pyrho/minimal
Finally go to your browser and open localhost:8888
.
N.B. If you are using docker machine, you will need to replace localhost
with the IP address of the host, obtained with the following command: docker-machine ip
.
Build Prometheus
Create an account to run the portal and disable root access
See this guide for details including generating ssh keys.
adduser monty
gpasswd -a monty sudo
sudo nano /etc/ssh/sshd_config
Edit the sshd_config file to disable root login:
PermitRootLogin no
Then restart the ssh daemon:
service ssh restart
Log out then log back in with the new (non-root) user account. Finally update the system, install docker, build the image and launch the server!
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install make
git clone https://github.com/ProjectPyRhO/Prometheus.git
cd Prometheus
make setup
make image
make launch
Useful commands
Clean docker images
make clean
Alternatively:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rm $(docker ps -qa --no-trunc --filter "status=exited")
docker rmi $(docker images -q --no-trunc --filter "dangling=true")
Check logs
make log-proxy
make log-tmpnb
sudo iptables -L
N.B. After an os update it may be necessary to run:
sudo apt-get install linux-image-extra-$(uname -r)