Config files for my server. Except not my secrets

use pds gatekeeper + sort out the funky handle situ

vielle.dev 0be29a4b 1230ff33

verified
Changed files
+28 -32
caddy
+21 -25
caddy/Caddyfile
··· 1 1 { 2 2 debug 3 - email {$PDS_ADMIN_EMAIL:404@vielle.dev} 3 + email {$ADMIN_EMAIL:404@vielle.dev} 4 4 on_demand_tls { 5 5 ask http://pi:8000/tls-check 6 6 } ··· 126 126 127 127 ## atproto services 128 128 ### pds 129 - pds.{$HOST:vielle.dev} { 129 + pds.{$HOST:vielle.dev}, *.pds.{$HOST:vielle.dev}, *.at.{$HOST:vielle.dev}, *.at.{$DONG_HOST:dongs.zip} { 130 130 log pds { 131 131 output stdout 132 132 format console 133 133 } 134 + 135 + tls { 136 + on_demand 137 + } 134 138 135 139 rewrite / /pds 136 140 @landing path /pds /styles.css ··· 144 148 respond `{"state":{"lastInitiatedAt":"2025-07-14T14:22:43.912Z","status":"assured","access":"full"},"metadata":{"accountCreatedAt":"2022-11-17T00:35:16.391Z"}}` 200 145 149 } 146 150 147 - reverse_proxy {$PI_ADDRESS:pi}:8000 { 148 - transport http { 149 - dial_timeout 5s 150 - } 151 - } 152 - } 153 - 154 - *.pds.{$HOST:vielle.dev} { 155 - log pds-did { 156 - output stdout 157 - format console 158 - } 159 - 160 - tls { 161 - on_demand 151 + # pds gatekeeper 152 + @gatekeeper { 153 + path /xrpc/com.atproto.server.getSession 154 + path /xrpc/com.atproto.server.describeServer 155 + path /xrpc/com.atproto.server.updateEmail 156 + path /xrpc/com.atproto.server.createSession 157 + path /xrpc/com.atproto.server.createAccount 158 + path /@atproto/oauth-provider/~api/sign-in 159 + path /gate/* 162 160 } 163 161 164 - # required as magicDNS (tailscale) doesn't support 165 - # subdomains without running own dns server 166 - # changes example.PDS_DOMAIN/.well-known/atproto-did to PDS_DOMAIN/.well-known/atproto-did/example.PDS_DOMAIN 167 - # requires support in the pds (see https://tangled.org/vielle.dev/pi-config) 168 - rewrite /.well-known/atproto-did /.well-known/atproto-did/{http.request.host} 162 + handle @gatekeeper { 163 + reverse_proxy {$PDS_GATEKEEPER} 164 + } 169 165 170 - reverse_proxy {$PI_ADDRESS:pi}:{$PI_PORT_PDS:8000} { 166 + reverse_proxy {$ADDR_PDS} { 171 167 transport http { 172 168 dial_timeout 5s 173 169 } ··· 186 182 @landing path /knot /styles.css 187 183 reverse_proxy @landing landing:8000 188 184 189 - reverse_proxy {$PI_ADDRESS:pi}:{$PI_PORT_KNOT:5555} 185 + reverse_proxy {$ADDR_KNOT} 190 186 } 191 187 192 188 ### piper instance ··· 197 193 format console 198 194 } 199 195 200 - reverse_proxy {$PI_ADDRESS:pi}:{$PO_PORT_PIPER:8010} 196 + reverse_proxy {$ADDR_PIPER} 201 197 }
+2 -2
commit.sh
··· 8 8 echo "git reset --hard origin/master" 9 9 git reset --hard origin/master 10 10 11 - echo "cat <<BODY | curl -d @- http://compuper:6500/notify" 11 + echo "curl -d fetched-latest http://compuper:6500/notify" 12 12 cat <<BODY | curl -d @- http://compuper:6500/notify 13 13 name=vps%3A%20git%20($(git log -1 --pretty=format:%h)) 14 14 &timeout=5000 ··· 26 26 echo "docker system prune -af > /dev/null" 27 27 docker system prune -af > /dev/null 28 28 29 - echo "cat <<- BODY | curl -d @- http://compuper:6500/notify" 29 + echo "curl -d ready http://compuper:6500/notify" 30 30 cat <<- BODY | curl -d @- http://compuper:6500/notify 31 31 name=vps%3A%20ready%20($(git log -1 --pretty=format:%h))\ 32 32 &timeout=5000
+5 -5
compose.yaml
··· 35 35 environment: 36 36 HOST: vielle.dev 37 37 DONG_HOST: dongs.zip 38 - PDS_ADMIN_EMAIL: admin@vielle.dev 39 - PI_ADDRESS: "100.84.64.24" 40 - PI_PORT_PDS: 8000 41 - PI_PORT_KNOT: 5555 42 - PI_PORT_PIPER: 8010 38 + ADMIN_EMAIL: admin@vielle.dev 39 + ADDR_PDS: 100.84.64.24:8000 40 + ADDR_PDS_GATEKEEPER: 100.84.64.24:8001 41 + ADDR_KNOT: 100.84.64.24:5555 42 + ADDR_PIPER: 100.84.64.24:8010 43 43 depends_on: 44 44 - prs 45 45 - landing