server

Server Configuration
git clone https://git.pngu.org/server
Log | Files | Refs | README

Caddyfile (1351B)


{
	email jack@pngu.org
	servers {
		trusted_proxies static 173.245.48.0/20 103.21.244.0/22 103.22.200.0/22 103.31.4.0/22 141.101.64.0/18 108.162.192.0/18 190.93.240.0/20 188.114.96.0/20 197.234.240.0/22 198.41.128.0/17 162.158.0.0/15 104.16.0.0/13 104.24.0.0/14 172.64.0.0/13 131.0.72.0/22 2400:cb00::/32 2606:4700::/32 2803:f800::/32 2405:b500::/32 2405:8100::/32 2a06:98c0::/29 2c0f:f248::/32
		client_ip_headers CF-Connecting-IP
	}
}

www.pngu.org, pngu.org {
	root * /srv/pngu.org
	try_files {path}.html {path}
	file_server
	handle_errors {
		@404 {
			expression {http.error.status_code} == 404
		}
		rewrite @404 /404.html
		file_server
	}
}

vault.pngu.org {
    encode zstd gzip
    reverse_proxy vaultwarden:80
}

baikal.pngu.org {
	encode zstd gzip
	reverse_proxy baikal:80
}

uptime.pngu.org {
	encode zstd gzip
	reverse_proxy kuma:3001
	redir / /status/default
}

stalwart.pngu.org {
	encode zstd gzip
	reverse_proxy stalwart:8080
}

mail.pngu.org {
	encode zstd gzip
	reverse_proxy stalwart:8443
}

webmail.pngu.org {
    encode zstd gzip
    reverse_proxy roundcube:80
}

calendar.pngu.org {
	encode zstd gzip
	reverse_proxy agendav:8080
}

git.pngu.org {
	encode zstd gzip
	reverse_proxy http://anubis:3000 {
		header_up X-Forwarded-For {client_ip}
		header_up X-Real-IP {client_ip}
		header_up X-Http-Version {http.request.proto}
	}
}