docker-compose/docker-compose-lean.yml (91 lines of code) (raw):

# # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # version: '3' services: db: image: apache/couchdb:2.3 ports: - "5984:5984" environment: COUCHDB_USER: whisk_admin COUCHDB_PASSWORD: some_passw0rd volumes: - ~/tmp/openwhisk/couchdb:/usr/local/var/lib/couchdb:rw # WHISK CONTROLLER controller: image: ${DOCKER_IMAGE_PREFIX:-openwhisk}/controller:${DOCKER_IMAGE_TAG:-latest} command: /bin/sh -c "exec /init.sh 0 >> /logs/controller-local_logs.log 2>&1" privileged: true pid: "host" userns_mode: "host" links: - db:db.docker depends_on: - db env_file: - ./docker-whisk-controller.env # env vars shared - ~/tmp/openwhisk/local.env # generated during make setup environment: COMPONENT_NAME: controller PORT: 8888 CONFIG_whisk_couchdb_provider: CouchDB CONFIG_whisk_couchdb_protocol: http CONFIG_whisk_couchdb_port: 5984 CONFIG_whisk_couchdb_host: db.docker CONFIG_whisk_couchdb_username: whisk_admin CONFIG_whisk_couchdb_password: some_passw0rd CONFIG_akka_actor_provider: local LOADBALANCER_HOST: ${DOCKER_COMPOSE_HOST} LOADBALANCER_HOST_PORT: 443 #invoker env EDGE_HOST: ${DOCKER_COMPOSE_HOST} EDGE_HOST_APIPORT: 443 CONFIG_whisk_containerFactory_containerArgs_network: openwhisk_default WHISK_API_HOST_NAME: ${DOCKER_COMPOSE_HOST} #required by lean controller CONFIG_whisk_spi_MessagingProvider: org.apache.openwhisk.connector.lean.LeanMessagingProvider CONFIG_whisk_spi_LoadBalancerProvider: org.apache.openwhisk.core.loadBalancer.LeanBalancer volumes: - ~/tmp/openwhisk/controller/logs:/logs - /var/run/docker.sock:/var/run/docker.sock - /var/lib/docker/containers:/containers - /sys/fs/cgroup:/sys/fs/cgroup ports: - "8888:8888" - "9222:9222" # The API Gateway is currently used to expose the Controller API # see apigateway/conf/whisk-docker-compose.conf # Minio is used to mock an object storage ( i.e. S3) that hosts the api-gateway configuration. # Minio also exposes a web UI to browse the files: http://localhost:9001/minio/api-gateway/ minio: image: minio/minio:RELEASE.2018-07-13T00-09-07Z command: - server - /data environment: - MINIO_ACCESS_KEY=5VCTEQOQ0GR0NV1T67GN - MINIO_SECRET_KEY=8MBK5aJTR330V1sohz4n1i7W5Wv/jzahARNHUzi3 volumes: - ~/tmp/openwhisk/minio:/data:rw ports: - "9001:9000" redis: image: redis:2.8 ports: - "6379:6379" apigateway: image: openwhisk/apigateway:nightly links: - controller:whisk.controller - redis:redis.docker - minio:minio.docker environment: - REDIS_HOST=${DOCKER_COMPOSE_HOST} - REDIS_PORT=6379 - PUBLIC_MANAGEDURL_PORT=9090 - PUBLIC_MANAGEDURL_HOST=${DOCKER_COMPOSE_HOST} - REMOTE_CONFIG=minio:api-gateway depends_on: - controller - redis - minio volumes: - ~/tmp/openwhisk/api-gateway-ssl:/etc/ssl:ro - ~/tmp/openwhisk/api-gateway-config/api-gateway/generated-conf.d:/etc/api-gateway/generated-conf.d - ~/tmp/openwhisk/rclone:/root/.config/rclone:rw ports: - "80:80" - "443:443" - "9000:9000" - "9090:8080"