blob: 84bbadb70a3aca42928eee7fd39077274a39f7b4 [file] [log] [blame]
version: '2'
services:
db:
image: couchdb:1.6
ports:
- "5984:5984"
environment:
COUCHDB_USER: whisk_admin
COUCHDB_PASSWORD: some_passw0rd
volumes:
- ~/tmp/openwhisk/couchdb:/usr/local/var/lib/couchdb:rw
# KAFKA SERVICES
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
links:
- zookeeper
depends_on:
- zookeeper
ports:
- "9092:9092"
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ~/tmp/openwhisk/kafka:/kafka:rw
# WHISK CONTROLLER
controller:
image: openwhisk/controller:latest
command: /bin/sh -c "controller/bin/controller 0 >> /logs/controller-local_logs.log 2>&1"
links:
- db:db.docker
- kafka:kafka.docker
depends_on:
- db
- kafka
env_file:
- ./docker-whisk-controller.env
environment:
COMPONENT_NAME: controller
PORT: 8888
KAFKA_HOST: kafka.docker
KAFKA_HOST_PORT: 9092
DB_PROVIDER: CouchDB
DB_PROTOCOL: http
DB_PORT: 5984
DB_HOST: db.docker
DB_USERNAME: whisk_admin
DB_PASSWORD: some_passw0rd
LOADBALANCER_HOST: ${DOCKER_COMPOSE_HOST}
LOADBALANCER_HOST_PORT: 443
volumes:
- ~/tmp/openwhisk/controller/logs:/logs
ports:
- "8888:8888"
# WHISK INVOKER AGENT
invoker:
image: openwhisk/invoker:latest
command: /bin/sh -c "/invoker/bin/invoker 0 >> /logs/invoker-local_logs.log 2>&1"
links:
- db:db.docker
- kafka:kafka.docker
depends_on:
- db
- kafka
env_file:
- ./docker-whisk-controller.env # env vars shared
environment:
COMPONENT_NAME: invoker
SERVICE_NAME: invoker0
PORT: 8085
KAFKA_HOST: kafka.docker
KAFKA_HOST_PORT: 9092
DB_PROVIDER: CouchDB
DB_PROTOCOL: http
DB_PORT: 5984
DB_HOST: db.docker
DB_USERNAME: whisk_admin
DB_PASSWORD: some_passw0rd
EDGE_HOST: ${DOCKER_COMPOSE_HOST}
EDGE_HOST_APIPORT: 443
DOCKER_REGISTRY: ${DOCKER_REGISTRY}
DOCKER_IMAGE_PREFIX: ${DOCKER_IMAGE_PREFIX}
INVOKER_CONTAINER_NETWORK: openwhisk_default
WHISK_API_HOST_NAME: https://${DOCKER_COMPOSE_HOST}
volumes:
- ~/tmp/openwhisk/invoker/logs:/logs
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/containers:/containers
ports:
- "8085:8085"
# The API Gateway is currently used to expose the Controller API
# see apigateway/conf/whisk-docker-compose.conf
redis:
image: redis:2.8
expose:
- "6379"
apigateway:
image: adobeapiplatform/apigateway:1.1.0
links:
- controller:whisk.controller
- redis:redis.docker
depends_on:
- controller
- redis
volumes:
- ~/tmp/openwhisk/apigateway/ssl:/etc/ssl:ro
- ~/tmp/openwhisk/apigateway/conf:/etc/api-gateway/generated-conf.d:ro
- ~/tmp/openwhisk/apigateway/env.conf:/etc/api-gateway/environment.conf.d:ro
ports:
- "80:80"
- "443:443"