How to set up CSHL collection deployment in docker

  • Make sure you have read access to the directory with the collection data:

    ls -l /mnt/cephfs/seqpipe/duckdb_storage/
    

    If you can’t read the directory, ask the administrator to give you access.

  • Clone the CSHL collection deployment repository:

    git clone git@github.com:iossifovlab/cshl-collection-deployment.git
    
  • Enter into the repository directory and source the environment setup script:

    cd cshl-collection-deployment
    source ./seqpipe_setenv.sh
    
  • Run docker-compose pull to update all docker images, especially GPF full container docker image.

    docker compose pull
    

    Please note that we are using the latest released image of the GPF full container: iossifovlab/iossifovlab-gpf-full:latest. If you want to use a different GPF full container image, you can change the image name in the docker-compose.yml file.

  • Run docker compose to start the GPF full container

    docker compose up
    

    This will start multiple containers:

    • MySQL database server

    • Iossifovlab’s GPF full container

  • Finalize the setup of the GPF full container

    • Exec into the GPF full container

      docker exec -it cshl-collection-deployment-gpf-1 /bin/bash
      
    • Create an admin user: Inside the container run

      wdaemanage.py user_create admin@iossifovlab.com \
          -p secret -g any_dataset:admin
      
    • Create an OAuth2 application for the frontend

      wdaemanage.py createapplication --user 1 \
          --redirect-uris "http://localhost:8000/gpf/login" \
          --name "GPF Genotypes and Phenotypes in Families" \
          --client-id gpfjs public authorization-code --skip-authorization
      

    Note

    Please note that once you create an admin user and OAuth2 application, they will persist and be stored in the database until you destroy the database container. To do this, you need to explicitly run docker compose down.

  • Open your browser and navigate to http://localhost:8000/gpf/