forked from metacall/core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
116 lines (111 loc) · 4.2 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#
# MetaCall Library by Parra Studios
# Docker compose infrastructure for MetaCall.
#
# Copyright (C) 2016 - 2021 Vicente Eduardo Ferrer Garcia <vic798@gmail.com>
#
# 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 benchmarks scripts ports dynamic install pack # v8 coverage
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