Skip to content

TIGERdb: T-Cell and ImmunoGlobulin Epitope Receptor DataBase

Notifications You must be signed in to change notification settings

pughlab/tigerdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TIGERdb readme here (how to start, how each service works)

Requires Node 16 and Docker (should come with docker compose command)

npm install
cp sample.env .env
cp ui/sample.ui.env ui/.env

Need to spin up to get values for editing the .env files, but first set your Gitlab access token

export GITLAB_AUTH_TOKEN=your_token_from_gitlab
make setup-volumes
make dev

In .env, find KEYCLOAK_SERVER_PUBLIC_KEY from the Keycloak console (localhost:8080) realm public key : Realm Settings -> Keys -> Public Key and add

NEO4J_URI=bolt://your_local_machine_ip_from_internet_settings:7687

...

KEYCLOAK_SERVER_HOST=your_local_machine_ip_from_internet_settings
KEYCLOAK_SERVER_PUBLIC_KEY=key_from_keycloak_admin_console

...

MINIO_IP=your_local_machine_ip_from_internet_settings

As well as in ui/.env. The variable WEBPACK_PUBLIC_IP is used for development.

KEYCLOAK_SERVER_HOST_AND_PORT=your_local_machine_ip_from_internet_settings
...
WEBPACK_PUBLIC_IP=your_local_machine_ip_from_internet_settings

Keycloak Valid Redirect URIs must also be changed. Go into Keycloak console > Clients > pibu-app > Settings > Valid Redirect URIs and add

https://localhost/*
https://localhost:4001/*
https://localhost:3001/*

On production, this should be changed to the app URL (i.e. whatever the domain name is).

You may also need to change some Docker options to give your containers (specifically the api container) enough memory to run (~4gb).

When using the GraphQL Playground (localhost:4001/graphql), your header should have a authorization: Bearer ${token} field in order to be authenticated as a KeycloakUser. Token can be generated by using the get_keycloak_token.sh script.

For Funnel, don't forget to build the funnel-base image. Specify --platform linux/arm64/v8 if running on M1 Mac (also may need to do this for some services in docker-compose.yml).

docker build -f api/src/funnel/funnel-base.dockerfile -t funnel-base .

To set the roles of a test user, go into Keycloak console > Manage > Users > ... > Role Mappings > Client Roles > pibu-app and add piped structure roles

role|allowedRoles|acceptedTOS
role|allowedRoles|approved
role|allowedRoles|admin
role|allowedSites|admin
role|allowedStudies|admin

These should be imported by the realm-export.json but if they're not you need to go to Keycloak console > Clients > pibu-app > Roles and add each one. If new roles are to be introduced this is where you'd need to start (and make sure its here since Keycloak API will check this source of truth, even though the roles of a KeycloakUser should reflect these values).

During development and you're using Chrome and it prevents you from opening the page due to certificate validation, type thisisunsafe" to skip.

React dev app: https://localhost:3001

GraphQL Playground: https://localhost/graphql

Neo4J browser: http://localhost/browser/

Minio console: http://localhost/minio

Keycloak admin console: https://localhost/auth/

Funnel task manager: http://localhost/tasks

About

TIGERdb: T-Cell and ImmunoGlobulin Epitope Receptor DataBase

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •