4.5 KB181 lines
Blame
1services:
2 registry:
3 image: registry:2
4 oom_score_adj: -900
5 ports:
6 - "127.0.0.1:5000:5000"
7 volumes:
8 - registry-data:/var/lib/registry
9 environment:
10 - REGISTRY_STORAGE_DELETE_ENABLED=true
11 restart: unless-stopped
12
13 mononoke-slapi:
14 image: grove/mononoke:latest
15 oom_score_adj: -900
16 command:
17 - --listening-host-port
18 - "0.0.0.0:8443"
19 - --config-path
20 - /data/grove/mononoke-config
21 - --local-configerator-path
22 - /data/grove/configerator
23 - --cache-mode
24 - disabled
25 - --just-knobs-config-path
26 - /data/grove/justknobs.json
27 - --tls-certificate
28 - /data/grove/tls/server.crt
29 - --tls-private-key
30 - /data/grove/tls/server.key
31 - --tls-ca
32 - /data/grove/tls/ca.crt
33 ports:
34 - "8443:8443"
35 volumes:
36 - /data/grove:/data/grove
37 restart: unless-stopped
38
39 mononoke-git:
40 image: grove/mononoke:latest
41 oom_score_adj: -900
42 entrypoint: ["/usr/local/bin/git_server"]
43 command:
44 - --listen-host
45 - "0.0.0.0"
46 - --listen-port
47 - "8080"
48 - --config-path
49 - /data/grove/mononoke-config
50 - --local-configerator-path
51 - /data/grove/configerator
52 - --cache-mode
53 - disabled
54 - --just-knobs-config-path
55 - /data/grove/justknobs.json
56 - --tls-certificate
57 - /data/grove/tls/server.crt
58 - --tls-private-key
59 - /data/grove/tls/server.key
60 - --tls-ca
61 - /data/grove/tls/ca.crt
62 ports:
63 - "8080:8080"
64 volumes:
65 - /data/grove:/data/grove
66 depends_on:
67 mononoke-slapi:
68 condition: service_started
69 restart: unless-stopped
70
71 grove-bridge:
72 image: grove/mononoke:latest
73 oom_score_adj: -900
74 entrypoint: ["/usr/local/bin/grove_bridge"]
75 command:
76 - --listening-host-port
77 - "0.0.0.0:3100"
78 - --config-path
79 - /data/grove/mononoke-config
80 - --local-configerator-path
81 - /data/grove/configerator
82 - --cache-mode
83 - disabled
84 - --just-knobs-config-path
85 - /data/grove/justknobs.json
86 volumes:
87 - /data/grove:/data/grove
88 depends_on:
89 mononoke-slapi:
90 condition: service_started
91 restart: unless-stopped
92
93 grove-api:
94 image: localhost:5000/grove-api:latest
95 oom_score_adj: -900
96 environment:
97 - PORT=4000
98 - DATABASE_PATH=/data/api/grove.db
99 - JWT_SECRET=${JWT_SECRET}
100 - GROVE_HUB_API_URL=http://hub-api:4000
101 - GROVE_BRIDGE_URL=http://grove-bridge:3100
102 - MONONOKE_CONFIG_PATH=/data/grove/mononoke-config
103 - CANOPY_ENABLED=true
104 - CANOPY_WORKSPACE_DIR=/canopy/workspaces
105 - CANOPY_WORKSPACE_HOST_DIR=/opt/grove/canopy/workspaces
106 - PAGES_SITES_DIR=/opt/grove/pages/sites
107 - CORS_ORIGIN=https://${DOMAIN:-grove.host}
108 - NODE_ENV=production
109 volumes:
110 - api-data:/data/api
111 - /data/grove:/data/grove
112 - /var/run/docker.sock:/var/run/docker.sock
113 - /opt/grove/canopy/workspaces:/canopy/workspaces
114 - pages-sites:/opt/grove/pages/sites
115 depends_on:
116 grove-bridge:
117 condition: service_started
118 restart: unless-stopped
119
120 hub-api:
121 image: localhost:5000/grove-hub-api:latest
122 oom_score_adj: -900
123 volumes:
124 - hub-data:/data
125 - /data/grove/tls:/data/grove/tls:ro
126 environment:
127 - PORT=4000
128 - DATABASE_PATH=/data/hub.db
129 - JWT_SECRET=${JWT_SECRET}
130 - RP_ID=${DOMAIN:-grove.host}
131 - ORIGIN=https://${DOMAIN:-grove.host}
132 - CORS_ORIGIN=https://${DOMAIN:-grove.host}
133 - NODE_ENV=production
134 restart: unless-stopped
135
136 grove-web:
137 image: localhost:5000/grove-web:latest
138 oom_score_adj: -900
139 volumes:
140 - collab-data:/data/collab
141 environment:
142 - GROVE_HUB_API_URL=http://hub-api:4000
143 - GROVE_API_URL=http://grove-api:4000
144 - DATA_DIR=/data/collab
145 - COLLAB_SOCKET_PORT=3334
146 - JWT_SECRET=${JWT_SECRET}
147 - NODE_ENV=production
148 depends_on:
149 - hub-api
150 - grove-api
151 restart: unless-stopped
152
153 caddy:
154 image: caddy:2-alpine
155 oom_score_adj: -900
156 ports:
157 - "80:80"
158 - "443:443"
159 volumes:
160 - ./Caddyfile:/etc/caddy/Caddyfile:ro
161 - caddy-data:/data
162 - caddy-config:/config
163 - pages-sites:/srv/pages/sites:ro
164 - /opt/grove/downloads:/srv/downloads:ro
165 environment:
166 - DOMAIN=${DOMAIN:-localhost}
167 depends_on:
168 - hub-api
169 - grove-web
170 - grove-api
171 restart: unless-stopped
172
173volumes:
174 registry-data:
175 api-data:
176 hub-data:
177 collab-data:
178 caddy-data:
179 caddy-config:
180 pages-sites:
181