Skip to content

Bossett/bsky-pds-container

Repository files navigation

Bluesky PDS Dockerfile

A single Dockerfile that stands up an atproto PDS without requiring any additional work on the host (i.e. this should launch with just docker compose up --build).

You will need to update docker-compose.yml to accurately reflect your info, and make sure the volume/bind mount is correct.

Once it is running docker compose exec pds /pds/pdsadmin to create your users.

This won't auto-update, but as long as the image structures stay much the same (i.e. app in /app in the official image, and the same invocation - this should continue to work by just incrementing the first line of the Dockerfile).

I am building this to run on fly.io and using LiteFS - so a lot of the variance from 'stock' are going to be in that direction. I am also trying to do this with no changes to the official PDS image so there will be weird redirection tricks (e.g. a search the actor store for sqlite and link to litefs if you have that turned on).

fly.io

I am running this on fly.io at the moment - fly machine exec <machine id> "/pds/pdsadmin create-invite-code" to get an invitation code to sign up. Remember to set up SSL certificates for <pds_host> and *.<pds_host>, and mount a volume at /pds. It needs to be deployed with --ha=false or scaled down to a single machine or else it will not work properly.

Backups

I'd recommend you grab a copy of your pds.env in case you need to recreate - you can do this by running docker compose exec pds cat /pds/pds.env or fly sftp get /pds/pds.env on fly.io. And back up your volumes.

LiteFS

If you choose to use LiteFS - you need to place a valid litefs.yml in your pds data volume. Do not specify any exec lines.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published