changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > infra > etc / annotate caddy/Caddyfile

changeset 6: 9e1a84aa4ede
parent: 71488d7123d0
author: Richard Westhaver <ellis@rwest.io>
date: Wed, 12 Jun 2024 14:33:30 -0400
permissions: -rw-r--r--
description: update caddyfile
1
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
1
 # The Caddyfile is an easy way to configure your Caddy web server.
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
2
 #
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
3
 # https://caddyserver.com/docs/caddyfile
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
4
 #
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
5
 # The configuration below serves a welcome page over HTTP on port 80.
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
6
 # To use your own domain name (with automatic HTTPS), first make
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
7
 # sure your domain's A/AAAA DNS records are properly pointed to
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
8
 # this machine's public IP, then replace the line below with your
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
9
 # domain name.
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
10
 #
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
11
 # https://caddyserver.com/docs/caddyfile/concepts#addresses
6
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
12
 {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
13
   admin :2020
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
14
   email ellis@rwest.io
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
15
   servers {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
16
     enable_full_duplex
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
17
   }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
18
   order webdav before file_server
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
19
 }
1
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
20
 
6
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
21
 (logging) {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
22
 	log {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
23
 		output file /var/log/caddy.log
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
24
 		format json
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
25
 	}
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
26
 }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
27
 
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
28
 (cors-origin) {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
29
     @match-cors-preflight-{args.0} {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
30
         header Origin "{args.0}"
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
31
         method OPTIONS
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
32
     }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
33
     handle @match-cors-preflight-{args.0} {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
34
         header {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
35
             Access-Control-Allow-Origin "{args.0}"
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
36
             Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS"
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
37
             Access-Control-Allow-Headers *
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
38
             Access-Control-Max-Age "3600"
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
39
             defer
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
40
         }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
41
         respond "" 204
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
42
     }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
43
 
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
44
     @match-cors-request-{args.0} {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
45
         header Origin "{args.0}"
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
46
         not method OPTIONS
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
47
     }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
48
     handle @match-cors-request-{args.0} {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
49
         header {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
50
             Access-Control-Allow-Origin "{http.request.header.origin}"
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
51
             Access-Control-Expose-Headers *
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
52
             defer
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
53
         }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
54
     }
1
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
55
 }
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
56
 
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
57
 http:// {
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
58
 	# Set this path to your site's directory.
6
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
59
 	root * /srv/http/
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
60
         file_server browse
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
61
 }
1
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
62
 
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
63
 
6
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
64
 compiler.company {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
65
   import cors-origin https://cdn.compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
66
   root * /srv/http/compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
67
   handle {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
68
     try_files {path} {path.html} {path}/
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
69
     file_server
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
70
   }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
71
 }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
72
 # chat.compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
73
 cdn.compiler.company {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
74
   @get method GET
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
75
   import cors-origin *
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
76
   import logging
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
77
   root * /srv/http/cdn.compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
78
   route {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
79
     file_server @get browse
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
80
     webdav
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
81
   }
1
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
82
 }
71488d7123d0 bootstrap
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
83
 
6
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
84
 the.compiler.company {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
85
   import cors-origin https://cdn.compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
86
   root * /srv/http/the.compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
87
   handle {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
88
     try_files {path}{path}.html {path}/
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
89
     file_server
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
90
   }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
91
 }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
92
 
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
93
 demo.compiler.company {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
94
   import cors-origin https://cdn.compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
95
   root * /srv/http/demo.compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
96
   # reverse_proxy
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
97
 }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
98
 
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
99
 packy.compiler.company {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
100
   @get method GET
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
101
   import cors-origin https://packy.compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
102
   import logging
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
103
   root * /srv/http/packy.compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
104
   route {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
105
     file_server @get browse
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
106
     webdav
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
107
   }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
108
 }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
109
 
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
110
 hg.compiler.company {
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
111
   import cors-origin https://packy.compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
112
   import cors-origin https://cdn.compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
113
   import cors-origin https://vc..compiler.company
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
114
   import logging
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
115
   root * /home/vc
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
116
   reverse_proxy localhost:8888
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
117
 }
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
118
 # nas-t.net
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
119
 # otom8.dev
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
120
 # rwest.io
9e1a84aa4ede update caddyfile
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
121
 # c2.rwest.io