# # MetaCall Library by Parra Studios # Docker compose infrastructure for MetaCall. # # Copyright (C) 2016 - 2026 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. # services: deps: image: metacall/core:deps container_name: metacall_core_deps build: context: . dockerfile: tools/docker/Dockerfile target: deps args: METACALL_BASE_IMAGE: $METACALL_BASE_IMAGE METACALL_PATH: $METACALL_PATH METACALL_TOOLS_PATH: $METACALL_PATH/tools METACALL_BUILD_TYPE: $METACALL_BUILD_TYPE METACALL_INSTALL_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust rapidjson pack backtrace sandbox ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} # clangformat v8rep51 METACALL_BUILD_OPTIONS: python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust examples tests scripts ports install pack sandbox benchmarks ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} # v8 METACALL_RUNTIME_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust backtrace ports clean # v8 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/docker/Dockerfile target: dev args: METACALL_BASE_IMAGE: $METACALL_BASE_IMAGE METACALL_PATH: $METACALL_PATH METACALL_TOOLS_PATH: $METACALL_PATH/tools METACALL_BUILD_TYPE: $METACALL_BUILD_TYPE METACALL_INSTALL_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust rapidjson pack backtrace sandbox ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} # clangformat v8rep51 METACALL_BUILD_OPTIONS: python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust examples tests scripts ports install pack sandbox benchmarks ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} # v8 METACALL_RUNTIME_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust backtrace ports clean # v8 environment: LTTNG_UST_REGISTER_TIMEOUT: 0 NUGET_XMLDOC_MODE: skip DOTNET_CLI_TELEMETRY_OPTOUT: "true" runtime: image: metacall/core:runtime container_name: metacall_core_runtime build: context: . dockerfile: tools/docker/Dockerfile target: runtime args: METACALL_BASE_IMAGE: $METACALL_BASE_IMAGE METACALL_PATH: $METACALL_PATH METACALL_TOOLS_PATH: $METACALL_PATH/tools METACALL_BUILD_TYPE: $METACALL_BUILD_TYPE METACALL_INSTALL_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust rapidjson pack backtrace sandbox ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} # clangformat v8rep51 METACALL_BUILD_OPTIONS: python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust examples tests scripts ports install pack sandbox benchmarks ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} # v8 METACALL_RUNTIME_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust backtrace ports clean # v8 environment: LTTNG_UST_REGISTER_TIMEOUT: 0 NUGET_XMLDOC_MODE: skip DOTNET_CLI_TELEMETRY_OPTOUT: "true" cli: image: metacall/core:cli container_name: metacall_core_cli build: context: . dockerfile: tools/docker/Dockerfile target: cli args: METACALL_BASE_IMAGE: $METACALL_BASE_IMAGE METACALL_PATH: $METACALL_PATH METACALL_TOOLS_PATH: $METACALL_PATH/tools METACALL_BUILD_TYPE: $METACALL_BUILD_TYPE METACALL_INSTALL_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust rapidjson pack backtrace sandbox ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} # clangformat v8rep51 METACALL_BUILD_OPTIONS: python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust examples tests scripts ports install pack sandbox benchmarks ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} # v8 METACALL_RUNTIME_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust backtrace ports clean # v8 environment: LTTNG_UST_REGISTER_TIMEOUT: 0 NUGET_XMLDOC_MODE: skip DOTNET_CLI_TELEMETRY_OPTOUT: "true"