Skip to content

PrankWeb deploy with Docker

Lukas Polak edited this page Sep 16, 2024 · 5 revisions

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 tmp directory to reflect your setup (this setup means that for example the predictions will be saved to the /tmp/predictions directory on your computer).
    docker 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
    If you are running using Linux system, keep in mind that the directories must be writable for user 5988:5988. Alternatively variables UID and GID to specify user before building the images.
  • Optional step. Create .env file 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.