diff --git a/caddy/Caddyfile b/caddy/Caddyfile index be5ecf6..71172e7 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -1,38 +1,36 @@ -import repo.caddyfile - -{ - admin off +import repo.caddyfile { + admin off } (site) { - @landing { - path / /contact* /about* /favicon.png - } - handle /_app/* { - reverse_proxy site:3000 - } - handle @landing { - reverse_proxy site:3000 { - health_uri /health - health_interval 30s - health_timeout 10s - health_status 200 - } - } - handle /repo* { - uri strip_prefix /repo - import repo_site - } + @landing { + path / /contact* /about* /favicon.png + } + handle /_app/* { + reverse_proxy site:3000 + } + handle @landing { + reverse_proxy site:3000 { + health_uri /health + health_interval 30s + health_timeout 10s + health_status 200 + } + } + handle /repo* { + uri strip_prefix /repo + import repo_site + } } :80 { - import site + import site } http://am-d-model.eu { - import site + import site } am-d-model.eu { - import site + import site } diff --git a/caddy/repo.caddyfile b/caddy/repo.caddyfile index b7b4571..20a23e1 100644 --- a/caddy/repo.caddyfile +++ b/caddy/repo.caddyfile @@ -1,65 +1,65 @@ (repo_cors) { - header { - Access-Control-Allow-Origin * - Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS" - Access-Control-Allow-Headers "*" - Access-Control-Allow-Credentials true - Strict-Transport-Security "max-age=15768000" - # Request ID tracing - +X-Request-ID {uuid} - } + header { + Access-Control-Allow-Origin * + Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS" + Access-Control-Allow-Headers "*" + Access-Control-Allow-Credentials true + Strict-Transport-Security "max-age=15768000" + # Request ID tracing + +X-Request-ID {uuid} + } } (repo_common_proxy) { - # Set headers similar to uwsgi_param - header_up Host {host} - header_up X-Request-ID {uuid} - # Remove sensitive headers - header_down -X-Session-ID - header_down -X-User-ID + # Set headers similar to uwsgi_param + header_up Host {host} + header_up X-Request-ID {uuid} + # Remove sensitive headers + header_down -X-Session-ID + header_down -X-User-ID } (repo_site) { - import repo_cors + import repo_cors - # UI Server routes - handle / { - request_body { - max_size 100MB - } - reverse_proxy repo-web-ui:5000 { - import repo_common_proxy - } - } + # UI Server routes + handle / { + request_body { + max_size 100MB + } + reverse_proxy repo-web-ui:5000 { + import repo_common_proxy + } + } - # API routes - handle /api/* { - request_body { - max_size 100MB - } - reverse_proxy repo-web-api:5000 { - import repo_common_proxy - } - } + # API routes + handle /api/* { + request_body { + max_size 100MB + } + reverse_proxy repo-web-api:5000 { + import repo_common_proxy + } + } - # Large file upload API routes - handle_path /api/records/*/draft/files/*/content { - request_body { - max_size 250GB - } - reverse_proxy repo-web-api:5000 { - import repo_common_proxy - encode gzip - } - } + # Large file upload API routes + handle_path /api/records/*/draft/files/*/content { + request_body { + max_size 250GB + } + encode gzip + reverse_proxy repo-web-api:5000 { + import repo_common_proxy + } + } - handle /static/* { - root * /opt/invenio/var/instance/static - file_server - } + handle /static/* { + root * /opt/invenio/var/instance/static + file_server + } - handle /robots.txt { - root * /opt/invenio/var/instance/static - file_server - } + handle /robots.txt { + root * /opt/invenio/var/instance/static + file_server + } }