PrankWeb deploy with Docker - cusbg/p2rank-framework GitHub Wiki
What are you going to learn here:
- how to run PrankWeb locally using Docker compose
Prerequisities
- Install Docker
You can check using command:
docker info - WARNING: Note that this build will most likely not work with M1 Apple processors as the HMMer software does not support this processor architecture. See this issue.
Steps
- Clone git repository to empty directory.
git clone https://github.com/cusbg/prankweb.git . - Create Docker mounts.
Please update the paths to the
tmpdirectory to reflect your setup (this setup means that for example the predictions will be saved to the/tmp/predictionsdirectory on your computer).
If you are running using Linux system, keep in mind that the directories must be writable for user 5988:5988. Alternatively variablesdocker volume create --name prankweb_rabbitmq --opt type=none --opt device=/tmp/rabbitmq --opt o=bind docker volume create --name prankweb_conservation --opt type=none --opt device=/tmp/conservation --opt o=bind docker volume create --name prankweb_predictions --opt type=none --opt device=/tmp/predictions --opt o=bind docker volume create --name prankweb_services --opt type=none --opt device=/tmp/services --opt o=bind docker volume create --name prankweb_docking --opt type=none --opt device=/tmp/docking --opt o=bind docker volume create --name prankweb_tunnels --opt type=none --opt device=/tmp/tunnels --opt o=bindUIDandGIDto specify user before building the images. - Optional step.
Create
.envfile in the directory and set variables:- WEB_SERVICE_USER
- WEB_SERVICE_PASSWORD
- RABBITMQ_DEFAULT_USER
- RABBITMQ_DEFAULT_PASS
- UID
- GID
- Build images.
docker compose build - Optional step.
Download conservation file(s) using following command this may take a while.
Be aware that you need about 30GB of space. Note that this is optional, but when not installed, conservation scores are not available.
docker compose run --rm executor-p2rank python3 /opt/hmm-based-conservation/download_database.py - Finally, you can start the application using.
docker compose up - You should be able to see the frontend at localhost:8020.