A practical walkthrough of self-hosting a Bluesky Personal Data Server (PDS) on a server that already runs multiple services. Covers replacing the default Caddy reverse proxy with NGINX, configuring path-based proxying so the PDS coexists with other apps on the same domain, enabling WebSocket proxying (critical for PDS functionality), resolving 'Invalid Handle' errors, working around the limitation that prevents starting with a top-level domain handle, and setting up SMTP for email verification.
Table of contents
Manual Container Management ⌗NGINX Reverse Proxy ⌗Issues with Top-Level Domain Handles ⌗Top-Level Domain Handle Issues ⌗SMTP Server ⌗Conclusion ⌗Sort: