{
	log {
		level ERROR
	}
	admin off
	servers {
		metrics
	}
}

http://localhost:2019 {
	metrics /metrics
}

matrix.broccoli.town {
	reverse_proxy /_matrix/* http://localhost:8008
	reverse_proxy /_synapse/client/* http://localhost:8008
}

syncv3.broccoli.town {
	reverse_proxy http://localhost:8009
}

broccoli.town:8448 {
	reverse_proxy http://localhost:8008
}

broccoli.town {
	header /.well-known/* "Access-Control-Allow-Origin" "*"

	respond /.well-known/matrix/client `{ "m.homeserver": { "base_url": "https://broccoli.town" }, "org.matrix.msc3575.proxy": { "url": "https://syncv3.broccoli.town" } }`

	reverse_proxy /_matrix/* http://localhost:8008
	reverse_proxy /_synapse/client/* http://localhost:8008

	redir / https://chat.broccoli.town
}

chat.broccoli.town {
	header {
		X-Frame-Options "SAMEORIGIN"
		X-XSS-Protection "1; mode=block"
		X-Content-Type-Options "nosniff"
		X-Robots-Tag "noindex, noarchive, nofollow"
	}
	root * @element@
	file_server
}

danielpatterson.dev {
	header {
		proof proven.lol/de4a14
	}
	root * /srv/site/danielpatterson.dev
	encode zstd gzip
	file_server
}

movies.danielpatterson.dev {
	reverse_proxy localhost:8096
}

elixir.danielpatterson.dev {
	reverse_proxy localhost:8080
}

git.broccoli.town {
	reverse_proxy localhost:3030
}

http://bigding:8384 {
	reverse_proxy localhost:8387
}

bigding.squirrel-clownfish.ts.net {
	tls {
		get_certificate tailscale
	}
	reverse_proxy localhost:9091
}

http://bigding {
	reverse_proxy /transmission localhost:9091
	reverse_proxy /transmission/* localhost:9091
	handle_path /prometheus/* {
		reverse_proxy localhost:9090
	}
}
