hub/Caddyfileblame
View source
e5b523e1{
e5b523e2 on_demand_tls {
e5b523e3 ask http://grove-api:4000/api/pages/ask
e5b523e4 }
e5b523e5}
e5b523e6
bdb18c97collab.{$DOMAIN} {
0b4b5828 handle /socket.io/* {
0b4b5829 reverse_proxy grove-web:3334
0b4b58210 }
0b4b58211
0b4b58212 handle /api/auth/* {
0b4b58213 reverse_proxy hub-api:4000
0b4b58214 }
0b4b58215
0b4b58216 handle /api/repos {
0b4b58217 reverse_proxy grove-api:4000
0b4b58218 }
0b4b58219
0b4b58220 handle /api/repos/* {
0b4b58221 reverse_proxy grove-api:4000
0b4b58222 }
0b4b58223
0b4b58224 handle {
0b4b58225 reverse_proxy grove-web:3000
0b4b58226 }
bdb18c927
bdb18c928 header {
bdb18c929 X-Content-Type-Options nosniff
bdb18c930 X-Frame-Options DENY
bdb18c931 }
bdb18c932}
bdb18c933
da0f65134canopy.{$DOMAIN} {
da0f65135 handle /api/auth/* {
da0f65136 reverse_proxy hub-api:4000
da0f65137 }
da0f65138
1da987439 handle /api/canopy/* {
1da987440 reverse_proxy grove-api:4000
1da987441 }
1da987442
da0f65143 handle /api/repos {
da0f65144 reverse_proxy grove-api:4000
da0f65145 }
da0f65146
da0f65147 handle /api/repos/* {
da0f65148 reverse_proxy grove-api:4000
da0f65149 }
da0f65150
da0f65151 handle {
da0f65152 reverse_proxy grove-web:3000
da0f65153 }
da0f65154
da0f65155 header {
da0f65156 X-Content-Type-Options nosniff
da0f65157 X-Frame-Options DENY
da0f65158 }
da0f65159}
da0f65160
fe2e54461ring.{$DOMAIN} {
fe2e54462 handle /api/auth/* {
fe2e54463 reverse_proxy hub-api:4000
fe2e54464 }
fe2e54465
fe2e54466 handle /api/ring/* {
fe2e54467 reverse_proxy grove-api:4000
fe2e54468 }
fe2e54469
fe2e54470 handle /api/repos {
fe2e54471 reverse_proxy grove-api:4000
fe2e54472 }
fe2e54473
fe2e54474 handle /api/repos/* {
fe2e54475 reverse_proxy grove-api:4000
fe2e54476 }
fe2e54477
fe2e54478 handle {
fe2e54479 reverse_proxy grove-web:3000
fe2e54480 }
fe2e54481
fe2e54482 header {
fe2e54483 X-Content-Type-Options nosniff
fe2e54484 X-Frame-Options DENY
fe2e54485 }
fe2e54486}
fe2e54487
135dfe588{$DOMAIN} {
5f0fbcf89 handle /v2/* {
5f0fbcf90 reverse_proxy registry:5000
5f0fbcf91 }
5f0fbcf92
8d0dc1293 handle /api/canopy/* {
8d0dc1294 reverse_proxy grove-api:4000
8d0dc1295 }
8d0dc1296
f0bb19297 handle /api/auth/* {
135dfe598 reverse_proxy hub-api:4000
135dfe599 }
135dfe5100
4dfd09b101 handle /api/instances {
4dfd09b102 reverse_proxy hub-api:4000
4dfd09b103 }
4dfd09b104
f0bb192105 handle /api/instances/* {
f0bb192106 reverse_proxy hub-api:4000
f0bb192107 }
f0bb192108
79efd41109 handle /api/orgs {
79efd41110 reverse_proxy hub-api:4000
79efd41111 }
79efd41112
79efd41113 handle /api/orgs/* {
79efd41114 reverse_proxy hub-api:4000
79efd41115 }
79efd41116
ffa10b4117 handle /api/repos {
ffa10b4118 reverse_proxy grove-api:4000
ffa10b4119 }
ffa10b4120
f0bb192121 handle /api/repos/* {
f0bb192122 reverse_proxy grove-api:4000
f0bb192123 }
f0bb192124
85f7497125 handle /api/pages/* {
85f7497126 reverse_proxy grove-api:4000
85f7497127 }
85f7497128
135dfe5129 handle /health {
135dfe5130 reverse_proxy hub-api:4000
135dfe5131 }
135dfe5132
135dfe5133 handle {
4a006da134 reverse_proxy grove-web:3000
135dfe5135 }
135dfe5136
135dfe5137 header {
135dfe5138 X-Content-Type-Options nosniff
135dfe5139 X-Frame-Options DENY
135dfe5140 }
135dfe5141}
e5b523e142
ff50d03143# Grove Pages — path-based default hosting at pages.grove.host/{owner}/{repo}
ff50d03144pages.{$DOMAIN} {
ff50d03145 root * /srv/pages/sites/_pages
ff50d03146 file_server browse
ff50d03147
ff50d03148 header {
ff50d03149 X-Content-Type-Options nosniff
ff50d03150 X-Frame-Options SAMEORIGIN
ff50d03151 }
ff50d03152}
ff50d03153
ff50d03154# Grove Pages — custom domains
e5b523e155:443 {
e5b523e156 tls {
e5b523e157 on_demand
e5b523e158 }
e5b523e159
e5b523e160 root * /srv/pages/sites/{host}
1688ad1161 file_server browse
e5b523e162
e5b523e163 header {
e5b523e164 X-Content-Type-Options nosniff
e5b523e165 X-Frame-Options SAMEORIGIN
e5b523e166 }
e5b523e167}