Files
objects/wwws/apx/caddy.apx.apxtri.farm.ants.json
2025-07-11 11:16:22 +02:00

206 lines
6.1 KiB
JSON

{
"apps": {
"http": {
"servers": {
"apx.apxtri.farm.ants": {
"listen": [":80",":443"],
"routes": [
{
"match": [{
"path": ["/trk/*"]
}],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [{
"path": ["/trk/redirect"]
}],
"handle": [{
"handler": "static_response",
"status_code": 301,
"headers": {
"Location": ["{http.request.uri.query.url}"]
}
}]
},
{
"match": [{
"path": ["/trk/*"]
}],
"handle": [
{
"handler": "rewrite",
"uri": "/{http.request.uri.path_elements.1}"
}
]
}
]
}
]
},
{
"match": [{
"path": ["/apxtri/Checkjson.js"]
}],
"handle": [{
"handler": "file_server",
"root": "/media/phil/usbfarm/apxtowns/farm-ants/apxtri/apxtri/models/"
}],
"terminal": true
},
{
"match": [{
"path": ["/setup.sh"]
}],
"handle": [{
"handler": "file_server",
"root": "/media/phil/usbfarm/apxtowns/adminapi/apxtri/setup/"
}],
"terminal": true
},
{
"match": [{
"path_regexp": {
"pattern": "^/([^/]+)/(setup.*\\.tar\\.gz)$"
}
}],
"handle": [{
"handler": "rewrite",
"uri": "/{http.matchers.path_regexp.1}/backups/{http.matchers.path_regexp.2}"
},
{
"handler": "file_server",
"root": "/media/phil/usbfarm/apxtowns/farm-ants/"
}],
"terminal": true
},
{
"match": [{
"path_regexp": {
"pattern": "/objectimg/(.*)/img/"
}
}],
"handle": [{
"handler": "rewrite",
"uri": "/{http.matchers.path_regexp.1}"
},
{
"handler": "file_server",
"root": "/media/phil/usbfarm/apxtowns/data/apxtri/objects/"
}],
"terminal": true
},
{
"match": [{
"path": ["/cdn/*"]
}],
"handle": [
{
"handler": "rewrite",
"strip_path_prefix": "/cdn"
},
{
"handler": "file_server",
"root": "/media/phil/usbfarm/apxtowns/data/apxtri/objects/wwws/cdn/"
}
],
"terminal": true
},
{
"match": [{
"path": ["/api/*"]
}],
"handle": [
{
"handler": "rewrite",
"strip_path_prefix": "/api"
},
{
"handler": "reverse_proxy",
"upstreams": [{
"dial": "localhost:3021"
}]
}
],
"terminal": true
},
{
"match": [{
"path": ["/socket/*"]
}],
"handle": [{
"handler": "reverse_proxy",
"upstreams": [{
"dial": "127.0.0.1:3031"
}],
"headers": {
"request": {
"set": {
"Upgrade": ["{http.request.header.Upgrade}"],
"Connection": ["upgrade"]
}
}
}
}],
"terminal": true
},
{
"match": [{
"path": ["/apidoc"]
}],
"handle": [{
"handler": "static_response",
"status_code": 301,
"headers": {
"Location": ["/apidoc/"]
}
}],
"terminal": true
},
{
"match": [{
"path": ["/apidoc/", "/apidoc/*"]
}],
"handle": [{
"handler": "file_server",
"root": "/media/phil/usbfarm/apxtowns/data/apxtri/objects/wwws/apidoc/",
"index_names": ["index.html"]
}],
"terminal": true
},
{
"match": [{
"path": ["/src/*"]
}],
"handle": [
{
"handler": "rewrite",
"strip_path_prefix": "/src"
},
{
"handler": "file_server",
"root": "/media/phil/usbfarm/apxtowns/data/apxtri/objects/wwws/apx/src/",
"index_names": ["index.html", "index_fr.html", "index_en.html"]
}
],
"terminal": true
},
{
"match": [{
"host": ["apx.apxtri.farm.ants"]
}],
"handle": [{
"handler": "file_server",
"root": "/media/phil/usbfarm/apxtowns/data/apxtri/objects/wwws/apx/dist",
"index_names": ["index.html", "index_fr.html", "index_en.html"]
}],
"terminal": true
}
]
}
}
}
}
}