2.9 KB183 lines
Blame
1{
2 on_demand_tls {
3 ask http://grove-api:4000/api/pages/ask
4 }
5}
6
7collab.{$DOMAIN} {
8 handle /socket.io/* {
9 reverse_proxy grove-web:3334
10 }
11
12 handle /api/auth/* {
13 reverse_proxy hub-api:4000
14 }
15
16 handle /api/repos {
17 reverse_proxy grove-api:4000
18 }
19
20 handle /api/repos/* {
21 reverse_proxy grove-api:4000
22 }
23
24 handle {
25 reverse_proxy grove-web:3000
26 }
27
28 header {
29 X-Content-Type-Options nosniff
30 X-Frame-Options DENY
31 }
32}
33
34canopy.{$DOMAIN} {
35 handle /api/auth/* {
36 reverse_proxy hub-api:4000
37 }
38
39 handle /api/canopy/* {
40 reverse_proxy grove-api:4000
41 }
42
43 handle /api/repos {
44 reverse_proxy grove-api:4000
45 }
46
47 handle /api/repos/* {
48 reverse_proxy grove-api:4000
49 }
50
51 handle {
52 reverse_proxy grove-web:3000
53 }
54
55 header {
56 X-Content-Type-Options nosniff
57 X-Frame-Options DENY
58 }
59}
60
61ring.{$DOMAIN} {
62 handle /api/auth/* {
63 reverse_proxy hub-api:4000
64 }
65
66 handle /api/ring/* {
67 reverse_proxy grove-api:4000
68 }
69
70 handle /api/repos {
71 reverse_proxy grove-api:4000
72 }
73
74 handle /api/repos/* {
75 reverse_proxy grove-api:4000
76 }
77
78 handle {
79 reverse_proxy grove-web:3000
80 }
81
82 header {
83 X-Content-Type-Options nosniff
84 X-Frame-Options DENY
85 }
86}
87
88isl.{$DOMAIN} {
89 handle /ws {
90 reverse_proxy isl-server:3011
91 }
92
93 handle {
94 reverse_proxy isl-server:3011
95 }
96
97 header {
98 X-Content-Type-Options nosniff
99 X-Frame-Options SAMEORIGIN
100 }
101}
102
103{$DOMAIN} {
104 handle /v2/* {
105 reverse_proxy registry:5000
106 }
107
108 handle /api/canopy/* {
109 reverse_proxy grove-api:4000
110 }
111
112 handle /api/auth/* {
113 reverse_proxy hub-api:4000
114 }
115
116 handle /api/instances {
117 reverse_proxy hub-api:4000
118 }
119
120 handle /api/instances/* {
121 reverse_proxy hub-api:4000
122 }
123
124 handle /api/orgs {
125 reverse_proxy hub-api:4000
126 }
127
128 handle /api/orgs/* {
129 reverse_proxy hub-api:4000
130 }
131
132 handle /api/repos {
133 reverse_proxy grove-api:4000
134 }
135
136 handle /api/repos/* {
137 reverse_proxy grove-api:4000
138 }
139
140 handle /api/pages/* {
141 reverse_proxy grove-api:4000
142 }
143
144 handle /health {
145 reverse_proxy hub-api:4000
146 }
147
148 handle {
149 reverse_proxy grove-web:3000
150 }
151
152 header {
153 X-Content-Type-Options nosniff
154 X-Frame-Options DENY
155 }
156}
157
158# Grove Pages — path-based default hosting at pages.grove.host/{owner}/{repo}
159pages.{$DOMAIN} {
160 root * /srv/pages/sites/_pages
161 file_server browse
162
163 header {
164 X-Content-Type-Options nosniff
165 X-Frame-Options SAMEORIGIN
166 }
167}
168
169# Grove Pages — custom domains
170:443 {
171 tls {
172 on_demand
173 }
174
175 root * /srv/pages/sites/{host}
176 file_server browse
177
178 header {
179 X-Content-Type-Options nosniff
180 X-Frame-Options SAMEORIGIN
181 }
182}
183