-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml.jsonnet
32 lines (27 loc) · 1 KB
/
docker-compose.yml.jsonnet
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
local ddb = import 'ddb.docker.libjsonnet';
local db_user = "sandbox";
local db_password = "sandbox";
local db_name = "sandbox";
local domain = std.join('.', [std.extVar("core.domain.sub"), std.extVar("core.domain.ext")]);
local port_prefix = std.extVar("docker.port_prefix");
local php_workdir = "/var/www/html";
local node_workdir = "/app";
local mysql_workdir = "/app";
local prefix_port(port, output_port = null)= [port_prefix + (if output_port == null then std.substr(port, std.length(port) - 2, 2) else output_port) + ":" + port];
ddb.Compose() {
"services": {
"node": ddb.Build("node")
+ ddb.User()
+ ddb.Binary("ncu", node_workdir, "ncu")
+ ddb.Binary("npm", node_workdir, "npm")
+ ddb.Binary("semantic-release-cli", node_workdir, "semantic-release-cli")
+ ddb.Binary("vue", node_workdir, "vue")
+ {
"volumes": [
ddb.path.project + ":" + node_workdir + ":rw",
"node-cache:/home/node/.cache:rw",
"node-npm-packages:/home/node/.npm-packages:rw"
],
},
}
}