Files
ansible/roles/docker/templates/Caddyfile.j2
T
PhilandClaude Opus 5.5 6dfb58d3f1 Retire Gondulf and move StarPunk to v2.0.0 with Pocket ID login
StarPunk 2.0.0 logs in with Pocket ID and issues its own Micropub tokens
(ADR-064 in the StarPunk repo), so the Gondulf IndieAuth server is no
longer used. Removes its task, templates, Caddy route, subdomain and
service entry, and moves its DNS record to removed_records.

The StarPunk template was still on v1.6.0-rc.2 with Gondulf hairpin
hosts; deploying it would have broken login. It now matches production:
v2.0.0, Pocket ID hairpin, OIDC client from vault_starpunk.pocketid and
the admin sub in starpunk_admin_sub.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 11:52:07 -06:00

121 lines
3.0 KiB
Caddyfile

{{ subdomains.pocketid }} {
reverse_proxy pocket-id:1411
}
paper.thesatelliteoflove.com {
reverse_proxy paperlessngx-webserver-1:8000
}
cal.thesatelliteoflove.com {
redir /.well-known/caldav /dav.php 302
redir /.well-known/carddav /dav.php 302
reverse_proxy baikal-baikal-1:80
}
{{ subdomains.books }} {
reverse_proxy kavita:5000
}
audio.thesatelliteoflove.com {
reverse_proxy audiobookshelf-audiobookshelf-1:80
}
loclog.thesatelliteoflove.com {
reverse_proxy dawarich_app:3000
}
watcher.thesatelliteoflove.com {
reverse_proxy changedetection:5000
}
snippets.thesatelliteoflove.com {
reverse_proxy bytestash:5000
}
git.thesatelliteoflove.com {
reverse_proxy gitea:3000
}
thesatelliteoflove.com {
# WebFinger for phil@ serves two readers: the fediverse (GoToSocial's account
# domain is this apex) and Tailscale, which finds the tailnet's login
# provider through the OpenID issuer link.
# Answered for every query: Tailscale's lookup doesn't always send
# resource=acct:phil@..., and phil is the only account here anyway.
@webfinger_phil path /.well-known/webfinger
route {
header @webfinger_phil Content-Type application/jrd+json
header @webfinger_phil Access-Control-Allow-Origin *
respond @webfinger_phil `{"subject":"acct:phil@{{ primary_domain }}","aliases":["https://{{ subdomains.social }}/users/phil","https://{{ subdomains.social }}/@phil"],"links":[{"rel":"http://openid.net/specs/connect/1.0/issuer","href":"https://{{ subdomains.pocketid }}"},{"rel":"http://webfinger.net/rel/profile-page","type":"text/html","href":"https://{{ subdomains.social }}/@phil"},{"rel":"self","type":"application/activity+json","href":"https://{{ subdomains.social }}/users/phil"}]}` 200
# Other fediverse discovery goes to GoToSocial.
redir /.well-known/host-meta* https://{{ subdomains.social }}{uri} 301
redir /.well-known/nodeinfo https://{{ subdomains.social }}{uri} 301
}
root * /srv/tsol
file_server
}
bookmarks.thesatelliteoflove.com {
reverse_proxy hoarder-web-1:3000
}
social.thesatelliteoflove.com {
reverse_proxy gotosocial:8080
}
models.thesatelliteoflove.com {
reverse_proxy manyfold-app-1:3214
}
gotify.thesatelliteoflove.com {
reverse_proxy gotify:80
}
gotify-assistant.thesatelliteoflove.com {
reverse_proxy igotify-assistant:8080
}
pdg.thesatelliteoflove.com {
root * /srv/pdg
try_files {path} {path}.html {path}/ =404
file_server
encode gzip
handle_errors {
rewrite * /{err.status_code}.html
file_server
}
}
starpunk.thesatelliteoflove.com {
reverse_proxy starpunk:8000
}
repair.nerder.land {
root * /srv/repair
file_server
}
nerder.land {
root * /srv/nerderland
file_server
}
forms.nerder.land {
reverse_proxy heyform-heyform-1:8000
}
listmonk.nerder.land {
reverse_proxy listmonk:9000
}
repaircafe.nerder.land {
redir /volunteer-signup https://listmonk.nerder.land/subscription/form 301
}
gokapi.thesatelliteoflove.com {
reverse_proxy gokapi:53842
}