wiki.lichen.noteSnapshot

lichen.wiki

Samples

100 randomly sampled records from the AT Protocol firehose

wiki.lichen.noteSnapshot (100 samples)
{
  "$type": "wiki.lichen.noteSnapshot",
  "atRevision": "at://did:plc:qpadnazsvauteint4uthqxuc/wiki.lichen.noteRevision/3mwotywucsvyk",
  "content": "---\ntitle: PDS Hosting & Customization\ndescription: Running a PDS\npublished: true\ndate: 2025-05-12T06:07:37.708Z\ntags: pds, indiesky\neditor: markdown\ndateCreated: 2025-05-11T23:43:40.775Z\n---\n\n# Personal Data Server (PDS) Hosting & Customizing\n\nThe Personal Data Server, or PDS, is what stores user data, delegated keys, and is responsible for auth.\n\nRead more on the [PDS core architecture page »](/wiki/reference/core-architecture/pds)\n\n## Resources\n\n* [List of PDS Implementations](/wiki/pds/pds-implementations)\n* [Self hosted PDS experience](/working-groups/indiesky/self-hosted-pds-experience)\n\n## Hosting\n\nTODO: probably a sub page of IndieSky, describing / aggregating the different ways that people self-host without the Bluesky \"Dedicate an entire VPS to it\"\n\nSee also [Bluesky ATProto PDS Self Hosting](https://atproto.com/guides/self-hosting)\n\n### Running Bluesky PDS with FlyIO\n\nhttps://github.com/likeandscribe/pds-fly\n\n(needs a bunch more config and docs)\n\n### Running Bluesky PDS with Railway\n\nA Railway template has been created https://railway.com/template/xBNJ1u - thanks to [@mkizka.dev](https://bsky.app/profile/mkizka.dev) for this!\n\nThere are instructions on the [Railway template page](https://railway.com/template/xBNJ1u) which talk about using git clone and editing the create account script.\n\nInstead, you can use the curl command embedded in the [pdsadmin create-invite-script file](https://github.com/bluesky-social/pds/blob/main/pdsadmin/create-invite-code.sh):\n\n```\ncurl \\\n  --fail \\\n  --silent \\\n  --show-error \\\n  --request POST \\\n  --user \"admin:${PDS_ADMIN_PASSWORD}\" \\\n  --header \"Content-Type: application/json\" \\\n  --data '{\"useCount\": 1}' \\\n  \"https://${PDS_HOSTNAME}/xrpc/com.atproto.server.createInviteCode\" | jq --raw-output '.code'\n```\n\nReplace the entirety of `${PDS_ADMIN_PASSWORD}` with your admin password (this is generated, look in the Railway settings) and `${PDS_HOSTNAME}` with your hostname 'mynewpdsdomain.com'.\n\nNow you can run this curl command in your terminal whenever you need an invite code created.\n\n### Self hosting a Bluesky PDS with Dokku, Dave Peck\n\nhttps://davepeck.org/notes/bluesky/self-hosting-a-bluesky-pds-with-dokku/\n\n[Dokku](https://dokku.com/) is a self-hosted Heroku clone.\n\n> To get things running, I packaged up the PDS in a Dockerfile that can be deployed to services like Heroku, GCP Cloud Run, AWS Fargate, etc.\n\nDave finishes with:\n\n> While I focus on Dokku here, my approach could easily be adapted to other hosting environments, including Heroku, Google Cloud Run, or AWS Fargate. If you manage to get Bluesky running on one of these platforms, please let me know!\n> \n> One useful thing to know is that Blueky’s PDS implementation supports both local storage (which is what I used) and S3-compatible storage. If you’re using Heroku or AWS, you probably want to store your data in S3. Just set the PDS_BLOBSTORE_DISK_LOCATION environment variable to an s3:// URL and you should be good to go.\n\n## Customization\n\nTODO: various ways of customizing your PDS\n\n### Customizing the email from your PDS\n\n> answers needed!!!\n{.is-danger}\n\n\nThe templates are actually over in the source code https://github.com/bluesky-social/atproto/tree/main/packages/pds/src/mailer rather than the PDS repo https://github.com/bluesky-social/pds (because the PDS repo is packaged up with a docker file to deploy)\n\n\n## Other\n\nCan we get a [PDS Banlist](/wiki/pds/pds-banlist) that is shared amongst service providers?\n\n",
  "createdAt": "2026-09-29T22:13:16.056Z",
  "noteRef": "at://did:plc:qpadnazsvauteint4uthqxuc/wiki.lichen.note/3mwotywucr77e",
  "slug": "pds",
  "title": "pds",
  "wikiRef": "at://did:plc:qpadnazsvauteint4uthqxuc/wiki.lichen.wiki/atprotowiki"
}

did:plc:qpadnazsvauteint4uthqxuc | at://did:plc:qpadnazsvauteint4uthqxuc/wiki.lichen.noteSnapshot/3mwotywucr77e

Lexicon Garden

@