92 lines
1.5 KiB
Text
92 lines
1.5 KiB
Text
|
{
|
||
|
# acme_ca https://acme-v02.api.letsencrypt.org/directory
|
||
|
email {env.EMAIL}
|
||
|
log {
|
||
|
format console
|
||
|
}
|
||
|
}
|
||
|
|
||
|
*.{$DOMAIN} {
|
||
|
tls {
|
||
|
dns netcup {
|
||
|
customer_number {env.NETCUP_CUSTOMER_NUMBER}
|
||
|
api_key {env.NETCUP_API_KEY}
|
||
|
api_password {env.NETCUP_API_PASSWORD}
|
||
|
}
|
||
|
propagation_timeout 900s
|
||
|
propagation_delay 600s
|
||
|
resolvers 46.38.225.230 46.38.252.230
|
||
|
}
|
||
|
# header Strict-Transport-Security "max-age=63072000"
|
||
|
|
||
|
@git host git.{$DOMAIN}
|
||
|
handle @git {
|
||
|
reverse_proxy forgejo:3000
|
||
|
}
|
||
|
|
||
|
@news host news.{$DOMAIN}
|
||
|
handle @news {
|
||
|
reverse_proxy miniflux:8080
|
||
|
}
|
||
|
|
||
|
@nc-push expression `(host('cloud.{$DOMAIN}') && path('/push/*'))`
|
||
|
handle @nc-push {
|
||
|
reverse_proxy push:7867
|
||
|
}
|
||
|
|
||
|
@nextcloud host cloud.{$DOMAIN}
|
||
|
handle @nextcloud {
|
||
|
reverse_proxy webserver-nextcloud:80
|
||
|
}
|
||
|
|
||
|
@office host office.{$DOMAIN}
|
||
|
handle @office {
|
||
|
reverse_proxy collabora:9980
|
||
|
}
|
||
|
|
||
|
@drawio host drawio.{$DOMAIN}
|
||
|
handle @drawio {
|
||
|
reverse_proxy drawio:8080
|
||
|
}
|
||
|
|
||
|
@whoami host whoami.{$DOMAIN}
|
||
|
handle @whoami {
|
||
|
reverse_proxy whoami:80
|
||
|
}
|
||
|
|
||
|
@push host push.{$DOMAIN}
|
||
|
handle @push {
|
||
|
reverse_proxy ntfy:80
|
||
|
}
|
||
|
|
||
|
@wallabag host wallabag.{$DOMAIN}
|
||
|
handle @wallabag {
|
||
|
reverse_proxy wallabag:80
|
||
|
}
|
||
|
|
||
|
@www host www.{$DOMAIN}
|
||
|
handle @www {
|
||
|
reverse_proxy webserver-www:80
|
||
|
}
|
||
|
|
||
|
@mail host mail.{$DOMAIN}
|
||
|
handle @mail {
|
||
|
reverse_proxy nginx-mailcow:8090
|
||
|
}
|
||
|
|
||
|
# Fallback for otherwise unhandled domains
|
||
|
handle {
|
||
|
respond 404
|
||
|
}
|
||
|
}
|
||
|
|
||
|
{$DOMAIN} {
|
||
|
redir https://www.{$DOMAIN}{uri}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|