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
4bb999b88isl.{$DOMAIN} {
4bb999b89 handle /ws {
abf167c90 reverse_proxy 172.18.0.1:3011 {
abf167c91 header_down -X-Frame-Options
abf167c92 }
4bb999b93 }
4bb999b94
4bb999b95 handle {
abf167c96 reverse_proxy 172.18.0.1:3011 {
abf167c97 header_down -X-Frame-Options
abf167c98 }
4bb999b99 }
4bb999b100
4bb999b101 header {
4bb999b102 X-Content-Type-Options nosniff
7e5aa77103 Content-Security-Policy "frame-ancestors https://grove.host https://*.grove.host http://grove.test:*"
4bb999b104 }
4bb999b105}
4bb999b106
135dfe5107{$DOMAIN} {
5f0fbcf108 handle /v2/* {
5f0fbcf109 reverse_proxy registry:5000
5f0fbcf110 }
5f0fbcf111
8d0dc12112 handle /api/canopy/* {
8d0dc12113 reverse_proxy grove-api:4000
8d0dc12114 }
8d0dc12115
f0bb192116 handle /api/auth/* {
135dfe5117 reverse_proxy hub-api:4000
135dfe5118 }
135dfe5119
4dfd09b120 handle /api/instances {
4dfd09b121 reverse_proxy hub-api:4000
4dfd09b122 }
4dfd09b123
f0bb192124 handle /api/instances/* {
f0bb192125 reverse_proxy hub-api:4000
f0bb192126 }
f0bb192127
79efd41128 handle /api/orgs {
79efd41129 reverse_proxy hub-api:4000
79efd41130 }
79efd41131
79efd41132 handle /api/orgs/* {
79efd41133 reverse_proxy hub-api:4000
79efd41134 }
79efd41135
ffa10b4136 handle /api/repos {
ffa10b4137 reverse_proxy grove-api:4000
ffa10b4138 }
ffa10b4139
f0bb192140 handle /api/repos/* {
f0bb192141 reverse_proxy grove-api:4000
f0bb192142 }
f0bb192143
85f7497144 handle /api/pages/* {
85f7497145 reverse_proxy grove-api:4000
85f7497146 }
85f7497147
4ae9b20148 handle /downloads/* {
4ae9b20149 root * /srv
4ae9b20150 file_server
4ae9b20151 }
4ae9b20152
135dfe5153 handle /health {
135dfe5154 reverse_proxy hub-api:4000
135dfe5155 }
135dfe5156
135dfe5157 handle {
4a006da158 reverse_proxy grove-web:3000
135dfe5159 }
135dfe5160
135dfe5161 header {
135dfe5162 X-Content-Type-Options nosniff
135dfe5163 X-Frame-Options DENY
135dfe5164 }
135dfe5165}
e5b523e166
ff50d03167# Grove Pages — path-based default hosting at pages.grove.host/{owner}/{repo}
ff50d03168pages.{$DOMAIN} {
ff50d03169 root * /srv/pages/sites/_pages
ff50d03170 file_server browse
ff50d03171
ff50d03172 header {
ff50d03173 X-Content-Type-Options nosniff
ff50d03174 X-Frame-Options SAMEORIGIN
ff50d03175 }
ff50d03176}
ff50d03177
ff50d03178# Grove Pages — custom domains
e5b523e179:443 {
e5b523e180 tls {
e5b523e181 on_demand
e5b523e182 }
e5b523e183
e5b523e184 root * /srv/pages/sites/{host}
1688ad1185 file_server browse
e5b523e186
e5b523e187 header {
e5b523e188 X-Content-Type-Options nosniff
e5b523e189 X-Frame-Options SAMEORIGIN
e5b523e190 }
e5b523e191}