{ email {$TLS_EMAIL} acme_ca {$CA_URL} log { output stdout format console } } (errorpages) { handle_errors { root * /srv/errorpages rewrite * /{http.error.status_code}.html file_server } } # http://autoconfig.{$BASE_DOMAIN} { # root * /srv/autoconfig # file_server # } https://proxy.{$BASE_DOMAIN} { import errorpages reverse_proxy /_matrix* matrix:8008 root * /srv/homepage file_server } # https://{$BASE_DOMAIN}:8448 { # import errorpages # reverse_proxy * matrix:8008 # } https://echo.{$BASE_DOMAIN} { import errorpages reverse_proxy * echo:8000 } https://ci-demo.{$BASE_DOMAIN} { import errorpages reverse_proxy * docker-ci-demo:8000 } # https://stuff.{$BASE_DOMAIN} { # import errorpages # root * /srv/stuff # file_server browse # basicauth /dev { # dev {$DEV_PASS} # } # } https://cloud.{$BASE_DOMAIN} { import errorpages redir /.well-known/carddav /remote.php/dav redir /.well-known/caldav /remote.php/dav redir /.well-known/webfinger /public.php?service=webfinger reverse_proxy * nextcloud:80 } https://bitwarden.{$BASE_DOMAIN} { import errorpages reverse_proxy /notifications/hub/negotiate* bitwarden:80 reverse_proxy /notifications/hub* bitwarden:3012 reverse_proxy * bitwarden:80 } https://git.{$BASE_DOMAIN} { import errorpages reverse_proxy * gitea:3000 } https://ci.{$BASE_DOMAIN} { import errorpages reverse_proxy * drone:80 } https://hackmd-next.{$BASE_DOMAIN} { import errorpages reverse_proxy * codimd:3000 } https://md.{$BASE_DOMAIN} { import errorpages reverse_proxy * non-existent:3000 } https://amp.{$BASE_DOMAIN} { import errorpages reverse_proxy /map* minecraft:8123 reverse_proxy * minecraft:8080 }