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
9ba591110 root * /opt/gild/web
9ba591111 file_server
9ba591112
9ba591113 header {
9ba591114 X-Content-Type-Options nosniff
9ba591115 X-Frame-Options DENY
9ba591116 }
9ba591117}
9ba591118
e3e17c819staging.thegild.app {
cb3a29220 tls /certs/thegild.app.crt /certs/thegild.app.key
cb3a29221
e3e17c822 root * /opt/gild-staging/web
e3e17c823 file_server
e3e17c824
e3e17c825 header {
e3e17c826 X-Content-Type-Options nosniff
e3e17c827 X-Frame-Options DENY
e3e17c828 X-Robots-Tag "noindex, nofollow"
e3e17c829 }
e3e17c830}
e3e17c831
bdb18c932collab.{$DOMAIN} {
0b4b58233 handle /socket.io/* {
0b4b58234 reverse_proxy grove-web:3334
0b4b58235 }
0b4b58236
0b4b58237 handle /api/auth/* {
0b4b58238 reverse_proxy hub-api:4000
0b4b58239 }
0b4b58240
0b4b58241 handle /api/repos {
0b4b58242 reverse_proxy grove-api:4000
0b4b58243 }
0b4b58244
0b4b58245 handle /api/repos/* {
0b4b58246 reverse_proxy grove-api:4000
0b4b58247 }
0b4b58248
0b4b58249 handle {
0b4b58250 reverse_proxy grove-web:3000
0b4b58251 }
bdb18c952
bdb18c953 header {
bdb18c954 X-Content-Type-Options nosniff
bdb18c955 X-Frame-Options DENY
bdb18c956 }
bdb18c957}
bdb18c958
da0f65159canopy.{$DOMAIN} {
da0f65160 handle /api/auth/* {
da0f65161 reverse_proxy hub-api:4000
da0f65162 }
da0f65163
1da987464 handle /api/canopy/* {
1da987465 reverse_proxy grove-api:4000
1da987466 }
1da987467
da0f65168 handle /api/repos {
da0f65169 reverse_proxy grove-api:4000
da0f65170 }
da0f65171
da0f65172 handle /api/repos/* {
da0f65173 reverse_proxy grove-api:4000
da0f65174 }
da0f65175
da0f65176 handle {
da0f65177 reverse_proxy grove-web:3000
da0f65178 }
da0f65179
da0f65180 header {
da0f65181 X-Content-Type-Options nosniff
da0f65182 X-Frame-Options DENY
da0f65183 }
da0f65184}
da0f65185
fe2e54486ring.{$DOMAIN} {
fe2e54487 handle /api/auth/* {
fe2e54488 reverse_proxy hub-api:4000
fe2e54489 }
fe2e54490
fe2e54491 handle /api/ring/* {
fe2e54492 reverse_proxy grove-api:4000
fe2e54493 }
fe2e54494
fe2e54495 handle /api/repos {
fe2e54496 reverse_proxy grove-api:4000
fe2e54497 }
fe2e54498
fe2e54499 handle /api/repos/* {
fe2e544100 reverse_proxy grove-api:4000
fe2e544101 }
fe2e544102
fe2e544103 handle {
fe2e544104 reverse_proxy grove-web:3000
fe2e544105 }
fe2e544106
fe2e544107 header {
fe2e544108 X-Content-Type-Options nosniff
fe2e544109 X-Frame-Options DENY
fe2e544110 }
fe2e544111}
fe2e544112
4bb999b113isl.{$DOMAIN} {
4bb999b114 handle /ws {
abf167c115 reverse_proxy 172.18.0.1:3011 {
abf167c116 header_down -X-Frame-Options
abf167c117 }
4bb999b118 }
4bb999b119
4bb999b120 handle {
abf167c121 reverse_proxy 172.18.0.1:3011 {
abf167c122 header_down -X-Frame-Options
abf167c123 }
4bb999b124 }
4bb999b125
4bb999b126 header {
4bb999b127 X-Content-Type-Options nosniff
7e5aa77128 Content-Security-Policy "frame-ancestors https://grove.host https://*.grove.host http://grove.test:*"
4bb999b129 }
4bb999b130}
4bb999b131
135dfe5132{$DOMAIN} {
5f0fbcf133 handle /v2/* {
5f0fbcf134 reverse_proxy registry:5000
5f0fbcf135 }
5f0fbcf136
8d0dc12137 handle /api/canopy/* {
8d0dc12138 reverse_proxy grove-api:4000
8d0dc12139 }
8d0dc12140
f0bb192141 handle /api/auth/* {
135dfe5142 reverse_proxy hub-api:4000
135dfe5143 }
135dfe5144
4dfd09b145 handle /api/instances {
4dfd09b146 reverse_proxy hub-api:4000
4dfd09b147 }
4dfd09b148
f0bb192149 handle /api/instances/* {
f0bb192150 reverse_proxy hub-api:4000
f0bb192151 }
f0bb192152
79efd41153 handle /api/orgs {
79efd41154 reverse_proxy hub-api:4000
79efd41155 }
79efd41156
79efd41157 handle /api/orgs/* {
79efd41158 reverse_proxy hub-api:4000
79efd41159 }
79efd41160
ffa10b4161 handle /api/repos {
ffa10b4162 reverse_proxy grove-api:4000
ffa10b4163 }
ffa10b4164
f0bb192165 handle /api/repos/* {
f0bb192166 reverse_proxy grove-api:4000
f0bb192167 }
f0bb192168
85f7497169 handle /api/pages/* {
85f7497170 reverse_proxy grove-api:4000
85f7497171 }
85f7497172
4ae9b20173 handle /downloads/* {
4ae9b20174 root * /srv
4ae9b20175 file_server
4ae9b20176 }
4ae9b20177
135dfe5178 handle /health {
135dfe5179 reverse_proxy hub-api:4000
135dfe5180 }
135dfe5181
135dfe5182 handle {
4a006da183 reverse_proxy grove-web:3000
135dfe5184 }
135dfe5185
135dfe5186 header {
135dfe5187 X-Content-Type-Options nosniff
135dfe5188 X-Frame-Options DENY
135dfe5189 }
135dfe5190}
e5b523e191
ff50d03192# Grove Pages — path-based default hosting at pages.grove.host/{owner}/{repo}
ff50d03193pages.{$DOMAIN} {
ff50d03194 root * /srv/pages/sites/_pages
ff50d03195 file_server browse
ff50d03196
ff50d03197 header {
ff50d03198 X-Content-Type-Options nosniff
ff50d03199 X-Frame-Options SAMEORIGIN
ff50d03200 }
ff50d03201}
ff50d03202
ff50d03203# Grove Pages — custom domains
e5b523e204:443 {
e5b523e205 tls {
e5b523e206 on_demand
e5b523e207 }
e5b523e208
e5b523e209 root * /srv/pages/sites/{host}
1688ad1210 file_server browse
e5b523e211
e5b523e212 header {
e5b523e213 X-Content-Type-Options nosniff
e5b523e214 X-Frame-Options SAMEORIGIN
e5b523e215 }
e5b523e216}