This chapter is for operators, analysts, and technical users who need to run Coyote3 reliably.
Coyote3 is typically deployed in three modes:
Coyote3 needs these backend dependencies:
Minimum required variables:
SECRET_KEYCOYOTE3_FERNET_KEYFLASK_MONGO_HOSTFLASK_MONGO_PORTCOYOTE3_DB_NAMECACHE_REDIS_URLCACHE_REDIS_HOSTSESSION_COOKIE_NAMEREPORTS_BASE_PATHDEVELOPMENTTESTINGUseful repository references:
example.env.coyote3_env.coyote3_dev_envUse coyote3 for production/runtime documentation parity.
coyote3coyote_dev_3For real workflow behavior and complete data shapes, point Coyote3 runtime to coyote3:
COYOTE3_DB_NAME=coyote3
FLASK_MONGO_HOST=172.17.0.1
FLASK_MONGO_PORT=27017
git --version
docker --version
docker compose version
python3 --version
Use example.env as template:
cp example.env .coyote3_env
cp example.env .coyote3_dev_env
Fill required keys in each file:
SECRET_KEYCOYOTE3_FERNET_KEYFLASK_MONGO_HOSTFLASK_MONGO_PORTCOYOTE3_DB_NAMECACHE_REDIS_URLCACHE_REDIS_HOSTREPORTS_BASE_PATHAPP_DNSPORT_NBRRecommended:
./scripts/compose-with-version.sh up -d --build
Alternative production wrapper:
./scripts/install.sh
./scripts/compose-with-version.sh ps
./scripts/compose-with-version.sh logs --tail=100 coyote3_app
Recommended:
./scripts/compose-with-version.sh -f docker-compose.dev.yml up -d --build
Alternative development wrapper:
./scripts/install.dev.sh
If running raw compose, export COYOTE3_VERSION first:
export COYOTE3_VERSION="$(python3 coyote/__version__.py)"
docker compose up -d --build
docker compose -f docker-compose.dev.yml up -d --build
./scripts/compose-with-version.sh down
./scripts/compose-with-version.sh -f docker-compose.dev.yml down
python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python wsgi.py
Use this only when you need local code-level debugging.
Open:
/ or /loginThen validate:
/samples opens./dashboard/ opens./samples into /dna/sample/<sample_id>./samples into /rna/sample/<sample_id>K=./samples/<sample_id>/reports/<report_id>.Confirm in coyote3:
samples has rows.variants has rows.annotation has rows.asp_configs and assay_specific_panels have rows.users, roles, permissions are populated.Without these, UI pages can load but show empty/broken behavior.
Route access is controlled by:
require(...)).require_sample_access).So users can be logged in but still blocked from specific pages/actions.
REPORTS_BASE_PATH must be writable by the Coyote3 runtime user.
At report save time, Coyote3 writes HTML report files and then updates sample/report metadata and reported_variants snapshot rows.
If write permission is missing, preview may work but save will fail.
COYOTE3_DB_NAME=coyote3./admin/./samples and /dna/sample/<sample_id>.