summaryrefslogtreecommitdiff
path: root/internal/suites/example/compose/caddy/Caddyfile
blob: 44ab3120658fc809d6e916b219050b4a09b3706a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
(tls-transport) {
	transport http {
		tls
		tls_insecure_skip_verify
	}
}

:8085 {
	log
	reverse_proxy authelia-backend:9091 {
		header_up X-Forwarded-Proto https
		import tls-transport
	}
}

login.example.com:8080 {
	tls /pki/public.crt /pki/private.pem
	log
	route {
		reverse_proxy /.well-known/* authelia-backend:9091 {
			import tls-transport
		}

		reverse_proxy /api/* authelia-backend:9091 {
			import tls-transport
		}

		reverse_proxy /locales/* authelia-backend:9091 {
			import tls-transport
		}

		reverse_proxy /devworkflow authelia-backend:9091 {
        	import tls-transport
        }

		reverse_proxy /jwks.json authelia-backend:9091 {
			import tls-transport
		}

		reverse_proxy authelia-frontend:3000 :8085 {
			lb_policy first
			lb_try_duration 5s
			lb_try_interval 250ms

			fail_duration 10s
			max_fails 1
			unhealthy_status 5xx
		}
	}
}

mail.example.com:8080 {
	tls /pki/public.crt /pki/private.pem
	log
	reverse_proxy smtp:8025
}

*.example.com:8080 {
	tls /pki/public.crt /pki/private.pem
	log
	forward_auth authelia-backend:9091 {
		uri /api/authz/caddy
		copy_headers Remote-User Remote-Groups Remote-Name Remote-Email
		import tls-transport
	}

	reverse_proxy /headers httpbin:8000
	reverse_proxy nginx-backend
}