Skip to content

Installation Option A: Pull a Prebuilt Image (Recommended)

robinpaul85 edited this page May 22, 2024 · 20 revisions

This may be the easiest option to get started. However, it may require more Docker know-how. for customization.

Installation

Make sure, the docker client is running.

TAG=latest # can change to a version number like 2.11.2
IMAGE_NAME=ghcr.io/stjude/ppfull:$TAG # may use ppserver:$TAG for server-only image
docker pull $IMAGE_NAME

# download the run helper scripts
wget https://raw.githubusercontent.com/stjude/proteinpaint/master/container/run.sh
wget https://raw.githubusercontent.com/stjude/proteinpaint/master/container/createPPNetwork.sh
wget https://raw.githubusercontent.com/stjude/proteinpaint/master/container/verify.sh
wget https://raw.githubusercontent.com/stjude/proteinpaint/master/container/validateConfig.js
wget https://raw.githubusercontent.com/stjude/proteinpaint/master/utils/public-support-files-download.sh
chmod a+x *

Download support files (such as appropriate reference genome files) using the command ./public-support-files-download.sh.

Test serverconfig.json

{
    "debugmode": true,
    "defaultgenome": "hg38",
    "genomes": [
       {
          "name": "hg19",
          "species": "human",
          "file": "./genome/hg19.js",
          "datasets": []
       },
       {
          "name": "hg38",
          "species": "human",
          "file": "./genome/hg38.js",
          "datasets": []
       }
    ],
    "tpmasterdir": "/path/to/tp_dir",
    "cachedir": "/path/to/cache_dir",
    "URL": "http://localhost:3456",
    "gfClient": "/home/root/pp/tools/gfClient",
    "port": 3000,
    "backend_only": false
}

Usage

To test, make sure that your current working directory has

  • a serverconfig.json which has
    • a tpmasterdir entry, for the absolute path to the data directory
    • a "URL": "http://localhost:[PORT]" entry (default PORT=3456, can be set to any valid, non-conflicting numeric port value)
  • an optional dataset folder, containing js files of any serverconfig.genomes.datasets[] entryvthat is not already included in proteinpaint/server/dataset
./run.sh $IMAGE_NAME

# open the browser to your serverconfig.URL entry
# example routes to check, assuming serverconfig.URL=http://localhost:3456
# http://localhost:3456/healthcheck
# http://localhost:3456/genomes
# http://localhost:3456 should open the Proteinpaint landing page

# Hints:
# - inspect logs with 'docker logs pp'
# - ssh into the container with 'docker exec -it pp'
# - stop the container with 'docker stop pp'