#
#	 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.4'
services:
  author:
    build: 
      context: cms
      args:
        RUNMODE: author
    ports:
      - "8080:8080"
    volumes:
      - sling-author:/opt/slingcms/launcher/composite/repository-global
  renderer:
    build: 
      context: cms
      args:
        RUNMODE: renderer
    ports:
      - "8090:8080"
    volumes:
      - sling-renderer:/opt/slingcms/launcher/composite/repository-global
  webcache:
    environment: 
      AUTHOR_URL: author
      RENDERER_URL: renderer
    build: 
      context: webcache
    ports:
      - "80:80"
volumes:
  sling-author:
  sling-renderer: