| 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" |