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