Email or username:

Password:

Forgot your password?
mcc

Looking into how to set up a bluesky server.

Noticed this bit here, in the documentation. That's an interesting way to spell "cannot"

10 comments
mcc

Looks like installing the bsky pds server is done via the "curl this opaque installer.sh and run it". This isn't necessarily so bad, but if you look inside the installer.sh it turns out to silently install Docker. That's… interesting. I feel like that's a surprising thing for a script to do silently and in the background. Isn't that kinda heavyweight?

mcc

I think I'm gonna have to join their discord to figure out how any of this actually works :( I am going to have to hold back SO many catty comments

mcc

Well despite a feeling that I'm a mouse gingerly inserting herself into a mousetrap, I've managed to install and boot the bsky data server. It immediately fails saying it can't open a file. It doesn't tell me what file. It just says it can't open a file. So I guess before I even get it working I'll be submitting a patch to bsky improving their error messages. I think the error means I have permissions set wrong on some directory but without knowing the failure path I can't know what directory :/

mcc

When I got this error last night I was like "ha ha, what a silly small error" and figured this morning I'd get up and work it out

I CAN'T WORK IT OUT

It fails saying it can't open a file. It will not say what file.

pnpm link is doing nothing for me at all. i cannot inject a console.log to print the file it's trying to open

I tried strace. strace does not show opening a file!!!

I thought this was going to take minutes and I've been poking on and off all day :(

mcc

Is pnpm link different from npm link?

mcc

How does `npm link` interact with npm workspaces?

I want to `npm link` (pnpm link but whatever) an on-disk npm package A into a local project B.

However, "A" is a sub-package ( like, a workspace package docs.npmjs.com/cli/v7/using-np ) of another package "C". The npm repository entry for A npmjs.com/package/@atproto/pds just links to C.

So: If I want to make B use the on-disk version of A, do I `pnpm link` A? or C? Or both?

mcc

Returned to debugging this this morning, but suddenly was unable to get it to print the error message any message. After a certain amount of fiddling, believing I did not understand how systemd services worked, I discovered that in fact at some point during the debugging I actually fixed the error, thus resulting in the error message no longer printing. Unfortunately I continued debugging after the point at which it started working and in the process I managed to break it again

mcc

Incidentally an interesting thing I've learned reading the docs is that BlueSky significantly relies on CBOR. This is a reasonable choice but makes me *very* curious whether any part of the BlueSky stack is susceptible to duplicate key attacks.

mcc

I have found it… the next evolution of curl | sudo sh

github.com/bluesky-social/pds/

Shell script that takes a subcommand, downloads a script by the name of the subcommand from github, then executes it as root

Go Up