-
Notifications
You must be signed in to change notification settings - Fork 5
/
docker-compose.yaml
65 lines (62 loc) · 2.16 KB
/
docker-compose.yaml
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
59
60
61
62
63
64
65
version: "3.2"
services:
postgres:
container_name: "biomage-inframock-postgres"
image: "postgres:13-alpine"
ports:
- "5431:5432"
volumes:
# Run docker rm -f -v biomage-inframock-postgres to re run these files
- ./src/postgres_init:/docker-entrypoint-initdb.d/
- ./pg_data:/var/lib/postgresql/data
environment:
POSTGRES_HOST_AUTH_METHOD: trust
redis:
container_name: "biomage-inframock-redis"
image: "redis:alpine"
# forward out the redis server. `redis-cli` should
# automatically find the server at http://localhost:6379
ports:
- "6379:6379"
localstack:
container_name: "biomage-inframock-localstack"
image: "localstack/localstack:0.12.12"
ports:
# forward out edge port. set boto3's `endpoint_url`
# to be http://localhost:4566 to use localstack for development
- "4566:4566"
- "20005:4566"
expose:
# expose :4566 to the local container network, so inframock-service
# can bring up the stack for development.
- "4566"
environment:
- SERVICES=sns,sqs,s3,cloudformation,stepfunctions,lambda,iam,ses
- DEFAULT_REGION=${AWS_DEFAULT_REGION:-eu-west-1}
- DOCKER_HOST=unix:///var/run/docker.sock
- MAIN_CONTAINER_NAME='biomage-inframock-localstack'
- LAMBDA_EXECUTOR=local
- EXTRA_CORS_ALLOWED_HEADERS=amz-sdk-request, amz-sdk-invocation-id, x-amz-meta-cellranger_version
- EXTRA_CORS_EXPOSE_HEADERS=Etag
privileged: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "~/.docker:/root/.docker"
service:
container_name: "biomage-inframock-service"
build: .
links:
- "localstack:localstack"
volumes:
- "${CELLENICS_DATA_PATH-./data}:/data"
environment:
- PYTHONUNBUFFERED=1
# pre-defined (mocked) AWS credentials
- AWS_ACCESS_KEY_ID=SOME_MOCKED_KEY
- AWS_SECRET_ACCESS_KEY=SOME_MOCKED_SECRET
- AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION:-eu-west-1}
# whether to populate the database with a mocked experiment
# and upload corresponding experiment file to InfraMock S3
- POPULATE_MOCK=${POPULATE_MOCK-true}
volumes:
data: {}