canvas-lms/docker-compose.jenkins.yml

72 lines
2.1 KiB
YAML

version: "2"
# despite building upon the other docker-compose files, in CI land we only
# spin up things explicitly listed here. so to add a new service to CI,
# you need to at least add something here (it can as simple as
# `service_name: {}` if the upstream config is correct)
#
# if you have a service that depends on cached volume data (e.g. pre-
# migrated postgres, assets, etc), ensure it shares a volume with the
# data_loader, and it will automagically get cached/fetched
#
# if you have a service that takes a few moments to spin up (e.g.
# a database server), if you want to ensure it's actually up as
# part of docker-composing, you should implement /wait-for-it
services:
redis:
image: redis:alpine
ports:
- "${REDIS_PORT}:6379"
postgres:
build: ./build/docker-compose/postgres/$PGVERSION
environment:
MASTER_RUNNERS: $MASTER_RUNNERS
ports:
- "${PGPORT}:5432"
cassandra:
build: ./build/docker-compose/cassandra
environment:
CASSANDRA_START_RPC: 'true'
MASTER_RUNNERS: $MASTER_RUNNERS
volumes:
- cassandra_data:/var/lib/cassandra
ports:
- "${CASSANDRA_PORT}:9160"
data_loader:
build: ./build/docker-compose/data_loader
environment:
BASE_DOCKER_VOLUME_ARCHIVE: $BASE_DOCKER_VOLUME_ARCHIVE
DOCKER_CACHE_S3_REGION: $DOCKER_CACHE_S3_REGION
volumes:
- pg_data:/volumes/postgres_data
- cassandra_data:/volumes/cassandra_data
- dynamodb_data:/volumes/dynamodb_data
dynamodb:
image: amazon/dynamodb-local
command: -jar DynamoDBLocal.jar -dbPath /home/dynamodblocal
volumes:
- dynamodb_data:/home/dynamodblocal
ports:
- "${DYNAMODB_PORT}:8000"
canvasrceapi:
image: starlord.inscloudgate.net/jeremyp/canvas-rce-api_web
environment:
ECOSYSTEM_KEY: "astringthatisactually32byteslong"
ECOSYSTEM_SECRET: "astringthatisactually32byteslong"
HTTP_PROTOCOL_OVERRIDE: "http"
NODE_ENV: production
PASSENGER_MIN_INSTANCES: 2
PASSENGER_MAX_POOL_SIZE: 6
NGINX_WORKER_CONNECTIONS: 2048
ports:
- "${RCE_API_PORT}:80"
volumes:
cassandra_data: {}
dynamodb_data: {}