Skip to content

Production Init

Charles Brandt edited this page Aug 15, 2023 · 11 revisions

UI and API On SCA managed nodes (<app_name>.sca.iu.edu)

  • should be able to ssh as <app_user>
  • should be able to ssh as developer's IU ID and has permissions to run sudo docker (ssh -A deduggi@dgl.sca.iu.edu)
  • Directory /opt/sca/<app_name> is created and <app_user> and developer's ID has write permissions. Developer's ID is added to the <app_group>.
  • update NGINX config at /etc/nginx/conf.d/<app_name>.conf - TODO: link sample nginx conf here

Workers on COLO Nodes (coloxx.carbonate.uits.iu.edu)

For further configuration details, see notes in workers directory

  • should be able to ssh as <app_user>
  • HSI setup?
  • check ~/.hsirc and ensure that the firewall is off
  • create ~/.modules and add modules to load on login
module load hpss
module load python
module load fastqc
  • HPS Ops (Joe Rinkovsky) needs to be contacted for:
Hi Joe, could you run the following on [colo24.carbonate.uits.iu.edu](http://colo24.carbonate.uits.iu.edu/) when you have a chance?

mkdir /opt/sca/cfndap
chown -R radyuser:sca /opt/sca/cfndap

If pm2 is not available, ask Joe to install with

Can you install pm2 globally with:

npm -g install pm2

set config / .env - passwords/ secrets

Configure and start pm2 worker processes:

cd /opt/sca/cfndap/workers
pm2 start ecosystem.config.js
  • Install multiqc - pip install multiqc

Workers on SCA managed nodes (<app_name-workers>.sca.iu.edu)

  • should be able to ssh as <app_user>
  • Directory /opt/sca/<app_name> is created and <app_user> has write permissions.
  • HSI setup?
  • check ~/.hsirc and ensure that the firewall is on
  • Ensure miniconda is installed (for python).
  • Execute /opt/miniconda3/bin/conda init bash to add conda initialization script to ~/.bashrc. source ~/.bashrc
  • Add conda activate <env_name> to ~/.bashrc to activate env on login
  • Ensure nodejs is installed and install pm2
npm config set prefix '/home/<appuser>/.local/'
mkdir -p /home/<appuser>/.local/bin
# add to ~/.bashrc
export PATH="/home/<appuser>/.local/bin:$PATH"

source ~/.bashrc
npm install pm2 -g

Firewall rules

  • Workers to API
    • From <app_name-workers>.sca.iu.edu to <app_name>.sca.iu.edu on port 443
    • From coloxx.carbonate.uits.iu.edu to <app_name>.sca.iu.edu on port 443
  • API to Core
    • From <app_name>.sca.iu.edu to core-dev1.sca.iu.edu on port 443
  • API to Postgres
    • From <app_name>.sca.iu.edu to commons3.sca.iu.edu on port 5432
  • Workers to MongoDB and RabbitMQ
    • From <app_name-workers>.sca.iu.edu to commons3.sca.iu.edu on port 27017 and 5672
    • From coloxx.carbonate.uits.iu.edu to commons3.sca.iu.edu on port 27017 and 5672