hub/Caddyfileblame
View source
e5b523e1{
e5b523e2 on_demand_tls {
e5b523e3 ask http://grove-api:4000/api/pages/ask
e5b523e4 }
e5b523e5}
e5b523e6
9ba59117thegild.app {
cb3a2928 tls /certs/thegild.app.crt /certs/thegild.app.key
cb3a2929
f840c8f10 reverse_proxy gild-web:3000
9ba591111
9ba591112 header {
9ba591113 X-Content-Type-Options nosniff
9ba591114 X-Frame-Options DENY
9ba591115 }
9ba591116}
9ba591117
e3e17c818staging.thegild.app {
cb3a29219 tls /certs/thegild.app.crt /certs/thegild.app.key
cb3a29220
f840c8f21 reverse_proxy gild-web-staging:3000
e3e17c822
e3e17c823 header {
e3e17c824 X-Content-Type-Options nosniff
e3e17c825 X-Frame-Options DENY
e3e17c826 X-Robots-Tag "noindex, nofollow"
e3e17c827 }
e3e17c828}
e3e17c829
bdb18c930collab.{$DOMAIN} {
0b4b58231 handle /socket.io/* {
0b4b58232 reverse_proxy grove-web:3334
0b4b58233 }
0b4b58234
0b4b58235 handle /api/auth/* {
0b4b58236 reverse_proxy hub-api:4000
0b4b58237 }
0b4b58238
0b4b58239 handle /api/repos {
0b4b58240 reverse_proxy grove-api:4000
0b4b58241 }
0b4b58242
0b4b58243 handle /api/repos/* {
0b4b58244 reverse_proxy grove-api:4000
0b4b58245 }
0b4b58246
0b4b58247 handle {
0b4b58248 reverse_proxy grove-web:3000
0b4b58249 }
bdb18c950
bdb18c951 header {
bdb18c952 X-Content-Type-Options nosniff
bdb18c953 X-Frame-Options DENY
bdb18c954 }
bdb18c955}
bdb18c956
da0f65157canopy.{$DOMAIN} {
da0f65158 handle /api/auth/* {
da0f65159 reverse_proxy hub-api:4000
da0f65160 }
da0f65161
1da987462 handle /api/canopy/* {
1da987463 reverse_proxy grove-api:4000
1da987464 }
1da987465
da0f65166 handle /api/repos {
da0f65167 reverse_proxy grove-api:4000
da0f65168 }
da0f65169
da0f65170 handle /api/repos/* {
da0f65171 reverse_proxy grove-api:4000
da0f65172 }
da0f65173
da0f65174 handle {
da0f65175 reverse_proxy grove-web:3000
da0f65176 }
da0f65177
da0f65178 header {
da0f65179 X-Content-Type-Options nosniff
da0f65180 X-Frame-Options DENY
da0f65181 }
da0f65182}
da0f65183
fe2e54484ring.{$DOMAIN} {
fe2e54485 handle /api/auth/* {
fe2e54486 reverse_proxy hub-api:4000
fe2e54487 }
fe2e54488
fe2e54489 handle /api/ring/* {
fe2e54490 reverse_proxy grove-api:4000
fe2e54491 }
fe2e54492
fe2e54493 handle /api/repos {
fe2e54494 reverse_proxy grove-api:4000
fe2e54495 }
fe2e54496
fe2e54497 handle /api/repos/* {
fe2e54498 reverse_proxy grove-api:4000
fe2e54499 }
fe2e544100
fe2e544101 handle {
fe2e544102 reverse_proxy grove-web:3000
fe2e544103 }
fe2e544104
fe2e544105 header {
fe2e544106 X-Content-Type-Options nosniff
fe2e544107 X-Frame-Options DENY
fe2e544108 }
fe2e544109}
fe2e544110
4bb999b111isl.{$DOMAIN} {
4bb999b112 handle /ws {
abf167c113 reverse_proxy 172.18.0.1:3011 {
abf167c114 header_down -X-Frame-Options
abf167c115 }
4bb999b116 }
4bb999b117
4bb999b118 handle {
abf167c119 reverse_proxy 172.18.0.1:3011 {
abf167c120 header_down -X-Frame-Options
abf167c121 }
4bb999b122 }
4bb999b123
4bb999b124 header {
4bb999b125 X-Content-Type-Options nosniff
7e5aa77126 Content-Security-Policy "frame-ancestors https://grove.host https://*.grove.host http://grove.test:*"
4bb999b127 }
4bb999b128}
4bb999b129
135dfe5130{$DOMAIN} {
5f0fbcf131 handle /v2/* {
5f0fbcf132 reverse_proxy registry:5000
5f0fbcf133 }
5f0fbcf134
8d0dc12135 handle /api/canopy/* {
8d0dc12136 reverse_proxy grove-api:4000
8d0dc12137 }
8d0dc12138
f0bb192139 handle /api/auth/* {
135dfe5140 reverse_proxy hub-api:4000
135dfe5141 }
135dfe5142
4dfd09b143 handle /api/instances {
4dfd09b144 reverse_proxy hub-api:4000
4dfd09b145 }
4dfd09b146
f0bb192147 handle /api/instances/* {
f0bb192148 reverse_proxy hub-api:4000
f0bb192149 }
f0bb192150
79efd41151 handle /api/orgs {
79efd41152 reverse_proxy hub-api:4000
79efd41153 }
79efd41154
79efd41155 handle /api/orgs/* {
79efd41156 reverse_proxy hub-api:4000
79efd41157 }
79efd41158
ffa10b4159 handle /api/repos {
ffa10b4160 reverse_proxy grove-api:4000
ffa10b4161 }
ffa10b4162
f0bb192163 handle /api/repos/* {
f0bb192164 reverse_proxy grove-api:4000
f0bb192165 }
f0bb192166
85f7497167 handle /api/pages/* {
85f7497168 reverse_proxy grove-api:4000
85f7497169 }
85f7497170
4ae9b20171 handle /downloads/* {
4ae9b20172 root * /srv
4ae9b20173 file_server
4ae9b20174 }
4ae9b20175
135dfe5176 handle /health {
135dfe5177 reverse_proxy hub-api:4000
135dfe5178 }
135dfe5179
135dfe5180 handle {
4a006da181 reverse_proxy grove-web:3000
135dfe5182 }
135dfe5183
135dfe5184 header {
135dfe5185 X-Content-Type-Options nosniff
135dfe5186 X-Frame-Options DENY
135dfe5187 }
135dfe5188}
e5b523e189
ff50d03190# Grove Pages — path-based default hosting at pages.grove.host/{owner}/{repo}
ff50d03191pages.{$DOMAIN} {
ff50d03192 root * /srv/pages/sites/_pages
ff50d03193 file_server browse
ff50d03194
ff50d03195 header {
ff50d03196 X-Content-Type-Options nosniff
ff50d03197 X-Frame-Options SAMEORIGIN
ff50d03198 }
ff50d03199}
ff50d03200
ff50d03201# Grove Pages — custom domains
e5b523e202:443 {
e5b523e203 tls {
e5b523e204 on_demand
e5b523e205 }
e5b523e206
e5b523e207 root * /srv/pages/sites/{host}
1688ad1208 file_server browse
e5b523e209
e5b523e210 header {
e5b523e211 X-Content-Type-Options nosniff
e5b523e212 X-Frame-Options SAMEORIGIN
e5b523e213 }
e5b523e214}