Repository navigation
Expand file tree
/
Copy pathdevctl.config.example.jsonc
More file actions
80 lines (80 loc) · 2.5 KB
/
Copy pathdevctl.config.example.jsonc
File metadata and controls
80 lines (80 loc) · 2.5 KB
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
{
// Copy to devctl.config.json and adapt. `$schema` support depends on your editor.
// version 2: portless is required. A service is portless-owned (portless picks the port)
// unless a template uses ${port}, in which case devctl assigns the port and registers a
// portless alias for it. Use ${url} (or ${origin}) for a service's public URL.
"version": 2,
"reposRoot": "~/dev",
"herdr": {
"enabled": true,
"workspace": "servers"
},
"envBaseFiles": {
"local": ".env.development",
"test": ".env.test",
"prod": ".env.production"
},
"debug": {
"enabled": false,
"command": "pi --provider my-provider --model my-model -p --no-session --tools read,bash"
},
"services": {
"mongo": {
"repo": "infra",
"basePort": 27017,
"shared": true,
"command": "docker compose -f docker-compose.yml up -d mongo1 mongo2 mongo3 mongo-setup",
"stopCommand": "docker compose -f docker-compose.yml stop mongo-setup mongo3 mongo2 mongo1",
"logsCommand": "docker compose -f docker-compose.yml logs --tail 100 mongo1 mongo2 mongo3",
"healthTimeoutMs": 90000
},
"api": {
"repo": "api",
"basePort": 3000,
"inspectBasePort": 9231,
"command": "./node_modules/.bin/nodemon --exec 'node --inspect=${inspectPort} src/server.ts'",
"env": {
"NODE_ENV": "development",
"PUBLIC_SERVER_URL": "${origin}"
},
"install": "pnpm install",
"dependsOn": ["mongo"],
"provides": {
"url": "${url}/api"
},
"remoteProvides": {
"url": { "from": "web", "envKey": "API_URL" }
},
"envExternals": {
"test": { "EXT_BASE_URL": "https://test.example.com" },
"prod": { "EXT_BASE_URL": "https://example.com" }
},
"healthTimeoutMs": 120000
},
"web": {
"repo": "web",
"basePort": 3100,
"command": "./node_modules/.bin/next dev -p ${port}",
"env": { "NODE_OPTIONS": "--max-old-space-size=4096" },
"healthTimeoutMs": 150000,
"wiring": {
"API_URL": "api.url"
},
"overlayManagedKeys": ["API_URL"]
},
"admin": {
"repo": "admin",
"basePort": 4000,
"command": "./node_modules/.bin/next dev -p ${port}",
"healthTimeoutMs": 150000,
"wiring": { "API_URL": "api.url" },
"overlayManagedKeys": ["API_URL"]
},
"studio": {
"repo": "studio",
"basePort": 6006,
"command": "./node_modules/.bin/storybook dev -p ${port}",
"healthTimeoutMs": 300000
}
}
}