hub/Caddyfileblame
View source
e5b523e1{
e5b523e2 on_demand_tls {
e5b523e3 ask http://grove-api:4000/api/pages/ask
e5b523e4 }
e5b523e5}
e5b523e6
9ba59117thegild.app {
9ba59118 root * /opt/gild/web
9ba59119 file_server
9ba591110
9ba591111 header {
9ba591112 X-Content-Type-Options nosniff
9ba591113 X-Frame-Options DENY
9ba591114 }
9ba591115}
9ba591116
bdb18c917collab.{$DOMAIN} {
0b4b58218 handle /socket.io/* {
0b4b58219 reverse_proxy grove-web:3334
0b4b58220 }
0b4b58221
0b4b58222 handle /api/auth/* {
0b4b58223 reverse_proxy hub-api:4000
0b4b58224 }
0b4b58225
0b4b58226 handle /api/repos {
0b4b58227 reverse_proxy grove-api:4000
0b4b58228 }
0b4b58229
0b4b58230 handle /api/repos/* {
0b4b58231 reverse_proxy grove-api:4000
0b4b58232 }
0b4b58233
0b4b58234 handle {
0b4b58235 reverse_proxy grove-web:3000
0b4b58236 }
bdb18c937
bdb18c938 header {
bdb18c939 X-Content-Type-Options nosniff
bdb18c940 X-Frame-Options DENY
bdb18c941 }
bdb18c942}
bdb18c943
da0f65144canopy.{$DOMAIN} {
da0f65145 handle /api/auth/* {
da0f65146 reverse_proxy hub-api:4000
da0f65147 }
da0f65148
1da987449 handle /api/canopy/* {
1da987450 reverse_proxy grove-api:4000
1da987451 }
1da987452
da0f65153 handle /api/repos {
da0f65154 reverse_proxy grove-api:4000
da0f65155 }
da0f65156
da0f65157 handle /api/repos/* {
da0f65158 reverse_proxy grove-api:4000
da0f65159 }
da0f65160
da0f65161 handle {
da0f65162 reverse_proxy grove-web:3000
da0f65163 }
da0f65164
da0f65165 header {
da0f65166 X-Content-Type-Options nosniff
da0f65167 X-Frame-Options DENY
da0f65168 }
da0f65169}
da0f65170
fe2e54471ring.{$DOMAIN} {
fe2e54472 handle /api/auth/* {
fe2e54473 reverse_proxy hub-api:4000
fe2e54474 }
fe2e54475
fe2e54476 handle /api/ring/* {
fe2e54477 reverse_proxy grove-api:4000
fe2e54478 }
fe2e54479
fe2e54480 handle /api/repos {
fe2e54481 reverse_proxy grove-api:4000
fe2e54482 }
fe2e54483
fe2e54484 handle /api/repos/* {
fe2e54485 reverse_proxy grove-api:4000
fe2e54486 }
fe2e54487
fe2e54488 handle {
fe2e54489 reverse_proxy grove-web:3000
fe2e54490 }
fe2e54491
fe2e54492 header {
fe2e54493 X-Content-Type-Options nosniff
fe2e54494 X-Frame-Options DENY
fe2e54495 }
fe2e54496}
fe2e54497
4bb999b98isl.{$DOMAIN} {
4bb999b99 handle /ws {
abf167c100 reverse_proxy 172.18.0.1:3011 {
abf167c101 header_down -X-Frame-Options
abf167c102 }
4bb999b103 }
4bb999b104
4bb999b105 handle {
abf167c106 reverse_proxy 172.18.0.1:3011 {
abf167c107 header_down -X-Frame-Options
abf167c108 }
4bb999b109 }
4bb999b110
4bb999b111 header {
4bb999b112 X-Content-Type-Options nosniff
7e5aa77113 Content-Security-Policy "frame-ancestors https://grove.host https://*.grove.host http://grove.test:*"
4bb999b114 }
4bb999b115}
4bb999b116
135dfe5117{$DOMAIN} {
5f0fbcf118 handle /v2/* {
5f0fbcf119 reverse_proxy registry:5000
5f0fbcf120 }
5f0fbcf121
8d0dc12122 handle /api/canopy/* {
8d0dc12123 reverse_proxy grove-api:4000
8d0dc12124 }
8d0dc12125
f0bb192126 handle /api/auth/* {
135dfe5127 reverse_proxy hub-api:4000
135dfe5128 }
135dfe5129
4dfd09b130 handle /api/instances {
4dfd09b131 reverse_proxy hub-api:4000
4dfd09b132 }
4dfd09b133
f0bb192134 handle /api/instances/* {
f0bb192135 reverse_proxy hub-api:4000
f0bb192136 }
f0bb192137
79efd41138 handle /api/orgs {
79efd41139 reverse_proxy hub-api:4000
79efd41140 }
79efd41141
79efd41142 handle /api/orgs/* {
79efd41143 reverse_proxy hub-api:4000
79efd41144 }
79efd41145
ffa10b4146 handle /api/repos {
ffa10b4147 reverse_proxy grove-api:4000
ffa10b4148 }
ffa10b4149
f0bb192150 handle /api/repos/* {
f0bb192151 reverse_proxy grove-api:4000
f0bb192152 }
f0bb192153
85f7497154 handle /api/pages/* {
85f7497155 reverse_proxy grove-api:4000
85f7497156 }
85f7497157
4ae9b20158 handle /downloads/* {
4ae9b20159 root * /srv
4ae9b20160 file_server
4ae9b20161 }
4ae9b20162
135dfe5163 handle /health {
135dfe5164 reverse_proxy hub-api:4000
135dfe5165 }
135dfe5166
135dfe5167 handle {
4a006da168 reverse_proxy grove-web:3000
135dfe5169 }
135dfe5170
135dfe5171 header {
135dfe5172 X-Content-Type-Options nosniff
135dfe5173 X-Frame-Options DENY
135dfe5174 }
135dfe5175}
e5b523e176
ff50d03177# Grove Pages — path-based default hosting at pages.grove.host/{owner}/{repo}
ff50d03178pages.{$DOMAIN} {
ff50d03179 root * /srv/pages/sites/_pages
ff50d03180 file_server browse
ff50d03181
ff50d03182 header {
ff50d03183 X-Content-Type-Options nosniff
ff50d03184 X-Frame-Options SAMEORIGIN
ff50d03185 }
ff50d03186}
ff50d03187
ff50d03188# Grove Pages — custom domains
e5b523e189:443 {
e5b523e190 tls {
e5b523e191 on_demand
e5b523e192 }
e5b523e193
e5b523e194 root * /srv/pages/sites/{host}
1688ad1195 file_server browse
e5b523e196
e5b523e197 header {
e5b523e198 X-Content-Type-Options nosniff
e5b523e199 X-Frame-Options SAMEORIGIN
e5b523e200 }
e5b523e201}