+21
-25
caddy/Caddyfile
+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
+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
+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