- Install ( https://desktop.github.com/ )
- Login to GitHub with the app
- Quit
- Restart
- This should configure your ssh key for cloning of private repos.
- Connect to the cluster
ssh login1.int.janelia.org. - Create a key and setup passwordless
sshfor launching jobs by running thisssh-keygen -t rsa && cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keysand hitting enter all the way through. - Copy everything returned by this
cat ~/.ssh/id_rsa.pub.
- Connect to the cluster
ssh login1.int.janelia.org. - Run
bsub -Is -tty /bin/bash. - Run our configuration file
curl https://raw.githubusercontent.com/nanshe-org/nanshe_workflow_deploy_janelia/master/1_preinstall_nanshe_workflow.sh | bash. - Alternatively, this can be run in the background
echo 'curl https://raw.githubusercontent.com/nanshe-org/nanshe_workflow_deploy_janelia/master/1_preinstall_nanshe_workflow.sh | bash' | bsub. Check to make sure it is done by runningbjobsand verifyingSTDINis no longer in the job list returned. - Logout of the cluster. All changes will take effect on the next login.
- Connect to the cluster
ssh login1.int.janelia.org. - Run this
singularity build ~/nanshe_workflow.simg docker://nanshe/nanshe_workflow. - Alternatively, this can be run in the background with
bsub singularity build ~/nanshe_workflow.simg docker://nanshe/nanshe_workflow. Check to make sure it is done by runningbjobsand verifying the job is no longer in the list returned. - If this fails for any reason, try opening GitHub Desktop. Once it is fully loaded close it. Then, open a new Terminal or Git Bash (GitHub). Finally, rerun these steps.
- Connect to the cluster
ssh login1.int.janelia.org. - Switch to a directory with data using
cd. - Run
bsub -Is -tty /bin/bashand then runsingularity run --bind /misc --bind /scratch ~/nanshe_workflow.simg. - Alternatively run the
bsub singularity run --bind /misc --bind /scratch ~/nanshe_workflow.simgand then wait a little and runbpeek. - It will take a little bit to start then it will print a bunch of stuff to the screen and hang (this is intentional).
- Copy the URL from the output (removing
(/)andor 127.0.0.1from it) and enter this into your browser. - Select
nanshe_ipython.ipynb.
- Save and close your notebook.
- Use
Ctrl+cback to the login node. - Run
bjobsand terminate any remaining jobs withbkill.
- Everything I just told you can still leave you vulnerable!
- An improvement on this procedure is to create a password to access the notebook.
- To do this run the following
python -c "from IPython.lib import passwd; print passwd()". - Enter a password ideally different from your existing one, twice.
- This will return something like this
sha1:HHHHHHHHHHHH:HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHwhereHis a hex number. - Go into the file
~/.ipython/profile_default/ipython_notebook_config.pyon the cluster and find the line withc.NotebookApp.password. - Uncomment it and place the full string in there. It will look like this
c.NotebookApp.password = u'sha1:HHHHHHHHHHHH:HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH' - Now if someone tries to get into your notebook, they will have to enter a password.
- However, this password is going over the wire unencrypted (in an SSH tunnel). If this is a concern for you, create a certificate.
- Run the following,
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout ipython.pem -out ipython.pem. - This will give you a certificate that will last for roughly a year. It contains the key and certificate data.
- To use this certificate, go into the file
~/.ipython/profile_default/ipython_notebook_config.pyon the cluster look for the line withc.NotebookApp.certfile. - Uncomment replace that line with this
c.NotebookApp.certfile = u'ipython.pem'. - This certificate will be unsigned, which will make your browser very upset, but it can be coerced into acceptance.