-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
58 lines (51 loc) · 2.48 KB
/
Copy path.env.example
File metadata and controls
58 lines (51 loc) · 2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# ---------------------------------------------------------------------------
# GeneForge configuration. Copy to .env and edit before deploying.
# Every value below is read by backend/app/core/config.py (12-factor style).
# ---------------------------------------------------------------------------
# --- app -------------------------------------------------------------------
ENVIRONMENT=production # development | test | production
DEBUG=false
APP_NAME=GeneForge
API_PREFIX=/api/v1
HTTP_PORT=8080 # host port published by the nginx container
# --- security (REQUIRED) ---------------------------------------------------
# Generate with: python -c "import secrets; print(secrets.token_urlsafe(48))"
SECRET_KEY=change-me-please-generate-a-long-random-value
ACCESS_TOKEN_TTL_MINUTES=720
REFRESH_TOKEN_TTL_DAYS=14
PASSWORD_MIN_LENGTH=8
PBKDF2_ITERATIONS=240000
ALLOW_REGISTRATION=false # true lets anyone self-register as an editor
FIRST_SUPERUSER_EMAIL=admin@geneforge.local
FIRST_SUPERUSER_PASSWORD=ChangeMe123!
CORS_ORIGINS=http://localhost:8080
# --- database --------------------------------------------------------------
# SQLite (single node / laptop):
# DATABASE_URL=sqlite:///./geneforge.db
# PostgreSQL (recommended):
POSTGRES_USER=geneforge
POSTGRES_PASSWORD=change-me-too
POSTGRES_DB=geneforge
DATABASE_URL=postgresql+psycopg://geneforge:change-me-too@db:5432/geneforge
DB_ECHO=false
DB_POOL_SIZE=10
DB_MAX_OVERFLOW=20
# --- task queue ------------------------------------------------------------
# Leave the broker empty to run jobs in an in-process thread pool (single node).
CELERY_BROKER_URL=redis://redis:6379/0
CELERY_RESULT_BACKEND=redis://redis:6379/1
WORKER_CONCURRENCY=4
TASK_LOCAL_WORKERS=4
TASK_MAX_RUNTIME_SECONDS=900
# --- limits ----------------------------------------------------------------
MAX_UPLOAD_BYTES=67108864 # 64 MiB
MAX_SEQUENCE_LENGTH=5000000 # 5 Mb per record
ALIGN_MAX_CELLS_SYNC=4000000 # above this an alignment becomes a queued job
ASYNC_JOB_LENGTH_THRESHOLD=200000
VERSION_FEATURE_EDITS=true # snapshot a version when only features change
# --- external databases / APIs --------------------------------------------
EXTERNAL_PROXY_ENABLED=true
EXTERNAL_PROXY_ALLOWLIST=eutils.ncbi.nlm.nih.gov,rest.ensembl.org,rest.uniprot.org,www.ebi.ac.uk,api.addgene.org
EXTERNAL_PROXY_TIMEOUT_SECONDS=20
# --- frontend --------------------------------------------------------------
SERVE_FRONTEND=true # FastAPI serves backend/app/static