# # MetaCall Library by Parra Studios # Docker compose infrastructure for MetaCall. # # Copyright (C) 2016 - 2021 Vicente Eduardo Ferrer Garcia # # Licensed 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.7" services: deps: image: metacall/core:deps container_name: metacall_core_deps build: context: . dockerfile: tools/deps/Dockerfile args: METACALL_BASE_IMAGE: $METACALL_BASE_IMAGE METACALL_PATH: $METACALL_PATH METACALL_TOOLS_PATH: $METACALL_PATH/tools METACALL_INSTALL_OPTIONS: root base python ruby netcore5 nodejs typescript file rpc rapidjson funchook swig pack # clangformat v8rep51 coverage environment: DEBIAN_FRONTEND: noninteractive # Work around https://github.com/dotnet/cli/issues/1582 until Docker releases a # fix (https://github.com/docker/docker/issues/20818). This workaround allows # the container to be run with the default seccomp Docker settings by avoiding # the restart_syscall made by LTTng which causes a failed assertion. LTTNG_UST_REGISTER_TIMEOUT: 0 # Trigger the population of the local NuGet package cache NUGET_XMLDOC_MODE: skip # Disable NetCore telemetry DOTNET_CLI_TELEMETRY_OPTOUT: "true" dev: image: metacall/core:dev container_name: metacall_core_dev build: context: . dockerfile: tools/dev/Dockerfile args: METACALL_PATH: $METACALL_PATH METACALL_BUILD_TYPE: $METACALL_BUILD_TYPE METACALL_BUILD_OPTIONS: root python ruby netcore5 nodejs typescript file rpc examples tests scripts ports dynamic install pack # v8 coverage benchmarks environment: DEBIAN_FRONTEND: noninteractive LTTNG_UST_REGISTER_TIMEOUT: 0 NUGET_XMLDOC_MODE: skip DOTNET_CLI_TELEMETRY_OPTOUT: "true" LOADER_LIBRARY_PATH: $METACALL_PATH/build LOADER_SCRIPT_PATH: $METACALL_PATH/build/scripts CONFIGURATION_PATH: $METACALL_PATH/build/configurations/global.json SERIAL_LIBRARY_PATH: $METACALL_PATH/build DETOUR_LIBRARY_PATH: $METACALL_PATH/build PORT_LIBRARY_PATH: $METACALL_PATH/build NODE_PATH: /usr/lib/node_modules depends_on: - deps runtime: image: metacall/core:runtime container_name: metacall_core_runtime build: context: . dockerfile: tools/runtime/Dockerfile args: METACALL_PATH: $METACALL_PATH METACALL_BASE_IMAGE: $METACALL_BASE_IMAGE METACALL_RUNTIME_OPTIONS: root base python ruby netcore5 nodejs typescript file rpc ports clean # v8 environment: DEBIAN_FRONTEND: noninteractive LTTNG_UST_REGISTER_TIMEOUT: 0 NUGET_XMLDOC_MODE: skip DOTNET_CLI_TELEMETRY_OPTOUT: "true" LOADER_LIBRARY_PATH: /usr/local/lib LOADER_SCRIPT_PATH: /usr/local/scripts CONFIGURATION_PATH: /usr/local/share/metacall/configurations/global.json SERIAL_LIBRARY_PATH: /usr/local/lib DETOUR_LIBRARY_PATH: /usr/local/lib PORT_LIBRARY_PATH: /usr/local/lib NODE_PATH: /usr/local/lib/node_modules depends_on: - dev cli: image: metacall/core:cli container_name: metacall_core_cli build: context: . dockerfile: tools/cli/Dockerfile environment: DEBIAN_FRONTEND: noninteractive LTTNG_UST_REGISTER_TIMEOUT: 0 NUGET_XMLDOC_MODE: skip DOTNET_CLI_TELEMETRY_OPTOUT: "true" LOADER_LIBRARY_PATH: /usr/local/lib LOADER_SCRIPT_PATH: /usr/local/scripts CONFIGURATION_PATH: /usr/local/share/metacall/configurations/global.json SERIAL_LIBRARY_PATH: /usr/local/lib DETOUR_LIBRARY_PATH: /usr/local/lib PORT_LIBRARY_PATH: /usr/local/lib NODE_PATH: /usr/local/lib/node_modules depends_on: - dev - runtime