35 lines
2.4 KiB
Markdown
35 lines
2.4 KiB
Markdown
# Upstream sources — bluesky-pds
|
|
|
|
| service | image | source repo | releases / changelog |
|
|
|---------|-------|-------------|----------------------|
|
|
| app | ghcr.io/bluesky-social/pds | https://github.com/bluesky-social/pds | git tags `vX.Y.Z` (no GitHub Releases objects — `releases/latest` 404s) |
|
|
| caddy | docker.io/caddy:2 | https://github.com/caddyserver/caddy | https://github.com/caddyserver/caddy/releases |
|
|
|
|
## Standing notes (researched 2026-06-11, bsky phase)
|
|
|
|
- **`:0.4` is a MOVING tag that now tracks upstream main, not the 0.4.x release line.**
|
|
As of 2026-06-11, `ghcr.io/bluesky-social/pds:0.4` == `latest` (manifest digest
|
|
`sha256:871194d2…`, created 2026-05-30) and contains `@atproto/pds` **0.5.1** on
|
|
**Node v24.15.0** with the service restructured to run TypeScript directly:
|
|
`CMD ["node", "--enable-source-maps", "index.ts"]`, `/app/index.ts` (NO `index.js`),
|
|
plus a bundled `goat` CLI at /usr/local/bin/goat. This matches the current `main`
|
|
Dockerfile (`FROM node:24.15-alpine3.23`, `COPY ./service`, CMD index.ts).
|
|
Any recipe override that assumes `/app/index.js` crash-loops MODULE_NOT_FOUND on it.
|
|
- **Exact-version tags keep the classic layout through v0.4.219** (newest exact tag as of
|
|
2026-06-11; ghcr digest `sha256:e0b756701c92…`): `FROM node:20.20-alpine3.23`,
|
|
WORKDIR `/app`, `/app/index.js` present, `dumb-init` at /usr/bin/dumb-init,
|
|
`CMD ["node", "--enable-source-maps", "index.js"]`, `@atproto/pds: 0.4.219`
|
|
(verified by running the image: Node v20.20.2). Exact tags published:
|
|
…0.4.135, 0.4.136, 0.4.138, 0.4.158, 0.4.169, 0.4.182, 0.4.188, 0.4.193, 0.4.204,
|
|
0.4.208, 0.4.219 — plus an anomalous `0.4.5001` (avoid; looks like a mis-tag).
|
|
- **Env interface stable across 0.4.x:** the recipe's env (PDS_HOSTNAME,
|
|
PDS_DATA_DIRECTORY, PDS_BLOBSTORE_DISK_LOCATION, PDS_BLOB_UPLOAD_LIMIT,
|
|
PDS_EMAIL_SMTP_URL, PDS_EMAIL_FROM_ADDRESS, PDS_INVITE_REQUIRED, LOG_ENABLED) and
|
|
secret-fed vars (PDS_JWT_SECRET, PDS_ADMIN_PASSWORD,
|
|
PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX) are the same set upstream's installer
|
|
(`installer.sh` / compose.yaml on the pds repo) uses for 0.4.x. No migrations
|
|
required for a same-series re-pin.
|
|
- **Pin guidance:** always pin an EXACT version tag (e.g. `0.4.219`); never `:0.4`
|
|
or `latest` — upstream demonstrably republishes the minor tag with main builds.
|
|
Health endpoint: `GET /xrpc/_health` on port 3000 (unchanged).
|