| # 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: "2" | |
| services: | |
| redis: | |
| image: redis:7.0.4-alpine | |
| ports: | |
| - "6379:6379" | |
| datastore: | |
| build: "./backend/containers/router/datastore" | |
| environment: | |
| DATASTORE_PROJECT_ID: test | |
| DATASTORE_LISTEN_ADDRESS: 0.0.0.0:8081 | |
| ports: | |
| - "8081:8081" | |
| cleanup_snippets: | |
| build: | |
| context: ./backend | |
| dockerfile: ./playground_functions/Dockerfile | |
| environment: | |
| GOOGLE_CLOUD_PROJECT: test | |
| DATASTORE_EMULATOR_HOST: datastore:8081 | |
| FUNCTION_TARGET: cleanupSnippets | |
| expose: | |
| - "8080" | |
| depends_on: | |
| - datastore | |
| put_snippet: | |
| build: | |
| context: ./backend | |
| dockerfile: ./playground_functions/Dockerfile | |
| environment: | |
| GOOGLE_CLOUD_PROJECT: test | |
| DATASTORE_EMULATOR_HOST: datastore:8081 | |
| FUNCTION_TARGET: putSnippet | |
| expose: | |
| - "8080" | |
| depends_on: | |
| - datastore | |
| increment_snippet_views: | |
| build: | |
| context: ./backend | |
| dockerfile: ./playground_functions/Dockerfile | |
| environment: | |
| GOOGLE_CLOUD_PROJECT: test | |
| DATASTORE_EMULATOR_HOST: datastore:8081 | |
| FUNCTION_TARGET: incrementSnippetViews | |
| expose: | |
| - "8080" | |
| depends_on: | |
| - datastore | |
| router: | |
| image: apache/beam_playground-backend-router | |
| environment: | |
| GOOGLE_CLOUD_PROJECT: test | |
| DATASTORE_EMULATOR_HOST: datastore:8081 | |
| CACHE_TYPE: remote | |
| CACHE_ADDRESS: redis:6379 | |
| SDK_CONFIG: /opt/playground/backend/sdks-emulator.yaml | |
| SERVER_PORT: 8082 | |
| APPLY_MIGRATIONS: "True" | |
| ports: | |
| - "8082:8082" | |
| depends_on: | |
| - redis | |
| - datastore | |
| - increment_snippet_views | |
| - put_snippet | |
| - cleanup_snippets | |
| go_runner: | |
| image: apache/beam_playground-backend-go | |
| environment: | |
| GOOGLE_CLOUD_PROJECT: test | |
| CACHE_TYPE: remote | |
| CACHE_ADDRESS: redis:6379 | |
| SERVER_PORT: 8084 | |
| ports: | |
| - "8084:8084" | |
| depends_on: | |
| - redis | |
| java_runner: | |
| image: apache/beam_playground-backend-java | |
| environment: | |
| GOOGLE_CLOUD_PROJECT: test | |
| CACHE_TYPE: remote | |
| CACHE_ADDRESS: redis:6379 | |
| SERVER_PORT: 8086 | |
| ports: | |
| - "8086:8086" | |
| depends_on: | |
| - redis | |
| python_runner: | |
| image: apache/beam_playground-backend-python | |
| environment: | |
| GOOGLE_CLOUD_PROJECT: test | |
| CACHE_TYPE: remote | |
| CACHE_ADDRESS: redis:6379 | |
| SERVER_PORT: 8088 | |
| ports: | |
| - "8088:8088" | |
| depends_on: | |
| - redis | |
| scio_runner: | |
| image: apache/beam_playground-backend-scio | |
| environment: | |
| GOOGLE_CLOUD_PROJECT: test | |
| CACHE_TYPE: remote | |
| CACHE_ADDRESS: redis:6379 | |
| SERVER_PORT: 8090 | |
| ports: | |
| - "8090:8090" | |
| depends_on: | |
| - redis | |
| # Impose limits on container to better mimic real deployment environment | |
| mem_limit: 2048M | |
| ulimits: | |
| rss: 1073741824 | |
| frontend: | |
| image: apache/beam_playground-frontend | |
| ports: | |
| - "1234:8080" | |
| depends_on: | |
| - router |