๐ฆ Bluesky PDS
Host: Homelab ยท Compose:
Homelab/Bluesky/compose.yaml
Stack name:bluesky
1. Overview
A self-hosted Bluesky Personal Data Server (PDS) running the AT Protocol. This allows you to own your Bluesky identity and data under a custom domain (slashd0t.com). Caddy acts as the local TLS reverse proxy, while Dockflare/Cloudflare Tunnel handles external access.
2. Architecture & Services
| Service | Image | Port | Role |
|---|---|---|---|
caddy |
caddy:2.11 |
โ | Local reverse proxy / TLS terminator for the PDS |
pds |
ghcr.io/bluesky-social/pds:0.4.5034 |
โ | AT Protocol Personal Data Server |
3. Networking
cloudflare-netโ External network connecting the PDS to the Dockflare Cloudflare tunnel, which exposes:internalโ Bridge network connecting Caddy and PDS.
4. Persistent Storage
| Container | Host Path / Volume | Description |
|---|---|---||
| caddy | /pds/caddy/data | Caddy TLS certificates and cache |
| caddy | /pds/caddy/etc/caddy | Caddy configuration (Caddyfile) |
| pds | /pds | All PDS data: repos, blobs, keys |
5. Environment Variables
No environment variables defined.
6. Access & Usage
| Endpoint | URL |
|---|---|
| Bluesky Web | https://slashd0t.com |
| PDS API (wildcard) | https://*.slashd0t.com |
| PDS Admin API | https://slashd0t.com/xrpc/com.atproto.server.* |
# Start the stack
docker compose -f Homelab/Bluesky/compose.yaml up -d
# Check PDS health
curl https://slashd0t.com/xrpc/_health
# View PDS logs
docker compose -f Homelab/Bluesky/compose.yaml logs -f pds
7. Maintenance & Backup
# Update PDS
docker compose -f Homelab/Bluesky/compose.yaml pull
docker compose -f Homelab/Bluesky/compose.yaml up -d
# Backup (all state is in /pds on the host)
rsync -av /pds/ /backup/bluesky/
[!IMPORTANT] Back up
/pdsregularly. This directory contains your cryptographic keys โ loss means you cannot rotate your DID and may lose your identity permanently.