# How to Start GN2 and GN3 This document describes in a short how we run GN2 and GN3 on the current production setup. Note that we should replace this with a system container. This details how GN2/GN3 production are currently started. It's probably a good idea to create a shell script for starting GN3 like we have for GN2 at some point, since currently environment variables are set manually. See also => systems/gn-services.gmi # GN3 GN2 depends on GN3 for REST services and libraries. ## Environment Set PATH/PYTHONPATH/GN2_PROFILE environment variables Example: ``` export GN2_PROFILE=/home/zas1024/opt/gn-latest-20221206 export PATH=$GN2_PROFILE/bin:$PATH export PYTHONPATH="$GN2_PROFILE/lib/python3.9/site-packages" ``` ## Start development on port 8081 Start GN3 from the relevant directory ``` env FLASK_DEBUG=1 FLASK_APP="main.py" CORS_ORIGINS="http://gn2-zach.genenetwork.org:*,https://gn2-zach.genenetwork.org:*,http://genenetwork.org:*,https://genenetwork.org:*" flask run --port=8081 ``` GN3 has a settings.py file now. See the README. ## Start production on port 8087 ``` gn2@tux01: cd ~/gn3_production/genenetwork3 gunicorn --bind 0.0.0.0:8087 --workers 8 --keep-alive 6000 --max-requests 10 --max-requests-jitter 5 --timeout 1200 wsgi:app ``` Note I had to comment out some oauth stuff on the latest. # GN2 1. Just run /home/gn2/production/run_production.sh