-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.cloud-local.yml
More file actions
45 lines (44 loc) · 2.45 KB
/
Copy pathdocker-compose.cloud-local.yml
File metadata and controls
45 lines (44 loc) · 2.45 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
# Cloud-local testing overlay.
#
# Runs the API server in cloud mode against the real Lambda/Batch/CloudWatch
# stack using temporary credentials assumed from the ECS task role.
#
# Usage: see docs/cloud-local-testing.md
#
# Quick start (after running scripts/export-cloud-creds.sh):
# docker compose -f docker-compose.yml -f docker-compose.cloud-local.yml \
# --env-file .env.cloud-local up
services:
api:
volumes:
# NICHART_HOST_DATA_PATH can be any directory on the host — it is mounted
# at /fsx/fsx inside the container so data paths sent to the Lambda match
# the prefix it validates (/fsx/fsx/{user_sub}/...).
# Example: export NICHART_HOST_DATA_PATH=~/nichart-data
- ${NICHART_HOST_DATA_PATH:-./data}:/fsx/fsx
environment:
NICHART_EXECUTION_MODE: cloud
# Path inside the container — must match the Lambda's expected prefix.
NICHART_DATA_ROOT: /fsx/fsx
NICHART_HOST_DATA_ROOT: ${NICHART_HOST_DATA_PATH:-./data}
# Cognito — values default to the production pool used in cloud deployment.
NICHART_COGNITO_REGION: ${NICHART_COGNITO_REGION:-us-east-1}
NICHART_COGNITO_USER_POOL_ID: ${NICHART_COGNITO_USER_POOL_ID:-us-east-1_BSBhcKA66}
NICHART_COGNITO_IDENTITY_POOL_ID: ${NICHART_COGNITO_IDENTITY_POOL_ID:-us-east-1:12c87a16-8336-450c-bf25-b98990c7dcf8}
# Allowed CORS origins — set to the UI's domain in production.
# JSON array, e.g.: '["https://nichart.example.com"]'
NICHART_CORS_ORIGINS: ${NICHART_CORS_ORIGINS:-["http://localhost:3000"]}
# AWS Batch / Lambda
NICHART_BATCH_QUEUE_NAME: ${NICHART_BATCH_QUEUE_NAME:-cbica-nichart-jobqueue-standard}
NICHART_LAMBDA_FUNCTION_NAME: ${NICHART_LAMBDA_FUNCTION_NAME:-cbica-nichart-submitjob}
# S3 data sync — when set, the API server automatically syncs project data
# to S3 before each pipeline step and pulls results back after completion.
# This eliminates the need for FSx and makes manual fsx-sync.sh calls
# unnecessary. Set to the bucket name (without s3://).
NICHART_S3_DATA_BUCKET: ${NICHART_S3_DATA_BUCKET:-cbica-nichart-io}
NICHART_S3_DATA_PREFIX: ${NICHART_S3_DATA_PREFIX:-fsx}
# Temporary credentials from scripts/export-cloud-creds.sh → .env.cloud-local
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN:-}
AWS_DEFAULT_REGION: ${AWS_DEFAULT_REGION:-us-east-1}