I have moved my to own PDS @sgo.to!'s Avatar

I have moved my to own PDS @sgo.to!

@samuelgoto

This was my original blue sky account that I'm hoping to migrate to my own pds! Check me out at @sgo.to!

106
Followers
101
Following
165
Posts
28.04.2023
Joined
Posts Following

Latest posts by I have moved my to own PDS @sgo.to! @samuelgoto

Preview
hello world
05.03.2026 05:55 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Aha! @sgo.to got fixed by the magic of asynchronously indexed databases!!!

Thanks @bnewbold.net !

27.02.2026 18:00 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Most things are working, I think, but one thing I noticed is that the @-reply autocomplete for @sgo.to seems to be still be pointing to @samuelgoto.bsky.social.

Is that just a caching issue that will go away by magic?

27.02.2026 00:58 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I finished my move to @sgo.to, which is now pointed to my own DID with my own implementation of a PDS running in a single and fragile heroku server.

I'll keep this account as a backup!

This is an experiment, try #2!

Will it work this time?

Lets find out!

27.02.2026 00:56 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

For sure it does!!!

27.02.2026 00:46 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

@sgo.to how is it going?

27.02.2026 00:41 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

ah @threddyrex.org figured out that I should have sent an event to the firehose!

bsky.app/profile/did:...

that did the trick!

27.02.2026 00:41 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Aha! I think that did the trick!

27.02.2026 00:36 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1

But yet, my bsky.app/profile/sgo.to still points my handle to @pds.sgo.to as well as the app.bsky.actor.getProfile?actor=did%3Aplc%3Athaoj4hhvraos7y6v3yog7re is also returning "handle": "pds.sgo.to".

27.02.2026 00:17 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
Bluesky Social media as it should be. Find your community among millions of users, unleash your creativity, and have some fun again.

"handle updates happen in DID docs" ... i'm struggling to figure out why bsky.app is still not associating my did with my handle @sgo.to.

So, bsky-debug.app/handle?handl... seems to check out: the DNS is pointing to my did and my did is pointing to my PDS.

27.02.2026 00:15 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

ah, requestAccountDelete is also one of these "proxy" things ... at least it comes with a atproto-proxy directive ...

27.02.2026 00:02 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Another one that doesn't seem right to me is this one: com.atproto.server.requestAccountDelete ... the bsky.app is calling this when i try to delete my bsky.app account ... but shouldn't this just delete the records for the app specific records (rather than my whole account in the PDS)?

27.02.2026 00:00 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Is com.atproto.identity.updateHandle also an exception to the rule in that it also needs to change the records that affect the app.bsky.actor.getProfile call to contain the new handle?

26.02.2026 23:11 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Ok, I think I figured out what I'm going to do:

1) Keep this account rather than migrate it
2) Move this account to @samuelgoto.bsky.social
3) Point @sgo.to to my own personal PDS
4) Cross my fingers my own personal PDS won't entirely die on me or get hacked

See you all on the other side!

26.02.2026 22:37 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

That looks super interesting! Are you involved?

26.02.2026 06:41 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

It was vibe coded in 2 days

26.02.2026 02:42 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1

I cleaned up my PDS quite a lot and now that I'm proxying most of the requests I feel like the implementation is extremely small ...

I'm wondering if I should migrate my @sgo.to handle to my PDS ...

Would it be easy to export my DID private key from the Bluesky PDS?

26.02.2026 02:17 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 1

I'll wait a couple of days. No big deal, for testing. In the meantime, I've been using darksky, which I'm going to assume is a reasonable proxy for what I'd get in bsky.app once I'm able to do the age assurance pass.

25.02.2026 20:19 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

@willem.dobs.nl here is a weird one: app.bsky.actor.getPreferences is an app.bsky.* RPC empty atproto-proxy header ... how should I route this?

25.02.2026 20:15 ๐Ÿ‘ 1 ๐Ÿ” 1 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0

I'm testing my PDS against blacksky.community which seems to be using the same services as bsky.app ... so I'm guessing that once I'm able to log in to bsky.app it will work out, but I'm not sure.

25.02.2026 20:11 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I'm running into a "You recently changed your birthdate
There is a limit to how often you can change your birthdate. You may need to wait a day or two before updating it again." while using bsky.app now, anything I can do about this @bnewbold.net other than wait two days?

25.02.2026 20:10 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Oh, wow, I think I was wrong about this!

I stripped out *all* of the app.bsky.* RPCs and proxied them to the atproto-proxy and my PDS is now much leaner and still up and running!

It is only handling the com.atproto.* RPCs!

@bnewbold.net @willem.dobs.nl @threddyrex.org

25.02.2026 20:09 ๐Ÿ‘ 16 ๐Ÿ” 3 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0

Yeah ... Im specifically interested in understanding how the browser can help me federate my PDS identity to other websites.

25.02.2026 17:19 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

What criteria should a PDS use to determine what to pass through and what to not pass through?

25.02.2026 15:22 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0

Just clarification question:

When you say "own bluesky compatible appview" and "bluesky appview" do you mean "a PDS that is compatible with bluesky's appview"?

I don't think I'm trying to write my own "appview" (I'm assuming that the "web view"?), but just my own PDS.

25.02.2026 07:57 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I'm not sure I understand ... are you suggesting that I can avoid implementing the listNotifications RPC in my PDS and instead proxy it using the atproto-proxy header? I'm not sure I follow how that would work ... does that require me to have *two* PDSes? one that's mine and another that I proxy to?

25.02.2026 07:28 ๐Ÿ‘ 0 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

It doesn't seem like getLikes and listNotifications was implemented, so I'm guessing that that PDS wouldn't quite work (wrt likes and notifications) against bsky.app, right?

25.02.2026 07:22 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

All of the "authenticated" ones do need to be implemented though, right? Like, managing notifications? chats? And then all of the "writes" (e.g. writing a post, liking, reposting, etc)?

I can see how all of the reads it can delegate to a proxy, but there is a non-trivial amount of RPCs right?

25.02.2026 07:17 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I got surprisingly far writing a PDS from scratch, but I feel like it would be a never ending project of covering what the bsky.app UI wants the PDS to support ...

25.02.2026 06:54 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I'm a little conflicted because it would seem that running your own PDS is a big part of the sovereignty that atproto provides .... but maybe I'm mistaken?

Maybe it is more like SMTP/POP where we kind of assume that it is impossible to run your own server and use someone else's instead?

25.02.2026 06:53 ๐Ÿ‘ 2 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0