Our Personal Data Server from scratch!
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore(readme): update with contributers and new description of project

Lewis: May this revision serve well! <lu5a@proton.me>

+34 -10
+34 -10
README.md
··· 2 2 3 3 A Personal Data Server for the AT Protocol. 4 4 5 - Bluesky runs on a federated protocol called AT Protocol. Your account lives on a PDS, a server that stores your posts, profile, follows, and cryptographic keys. Bluesky hosts one for you at bsky.social, but you can run your own. Self-hosting means you control your data; you're not dependent on any company's servers, and your account + data is actually yours. 5 + "A what for the what?" -> glad you asked: Bluesky, Tangled, and a bunch of other web applications use a federated protocol called AT Protocol (atproto). Your account lives on a PDS, a server that stores your posts, profile, follows, cryptographic keys, et cetera. The beauty is that a PDS is the *only* place your data lives permanently - so you can navigate any atproto app knowing that your data is yours and not getting locked behind any one app's walls. 6 6 7 - This particular PDS thrives under harsh conditions. It is a dandelion growing through the cracks in the sidewalk concrete. 7 + We came together to make this PDS to enable and empower our users to better host their data on this shared protocol. All of our decisions as a project are guided by their usefulness to the community: PDS hosters and end-users both. 8 8 9 - It has full compatibility with Bluesky's reference PDS. 9 + Comparatively: Bluesky the company created a "reference PDS" that we can self-host quite easily, and that's great, but Bluesky has an incentive to make software for themselvess first & foremost, then secondly their software can be useful for us self-hosters. In contrast, Tranquil is not from a company, and will never be. 10 10 11 11 ## What's different about Tranquil PDS 12 12 13 - It is a superset of the reference PDS, including: passkeys and 2FA (WebAuthn/FIDO2, TOTP, backup codes, trusted devices), SSO login and signup, did:web support (PDS-hosted subdomains or bring-your-own), multi-channel communication (email, discord, telegram, signal) for verification and alerts, granular OAuth scopes with a consent UI showing human-readable descriptions, app passwords with granular permissions (read-only, post-only, or custom scopes), account delegation (letting others manage an account with configurable permission levels), and a built-in web UI for account management, repo browsing, and admin. 13 + It is a superset of the reference PDS, including: 14 + - passkeys and 2FA: WebAuthn/FIDO2, TOTP, backup codes, trusted devices 15 + - SSO login and signup 16 + - did:web support: PDS-hosted subdomains or bring-your-own 17 + - multi-channel communication: you can be notified via email, discord, telegram, and signal for verification and alerts 18 + - granular OAuth scopes with a consent UI that allows unchecking specific scopes 19 + - app passwords with the same granular permission scope system as OAuth 20 + - account delegation: letting others manage an account with configurable permission levels 21 + - a built-in web UI for account management, repo browsing, and admin 14 22 15 - The PDS itself is a single binary with no nodeJS runtime. However, at time of writing, Tranquil requires postgres running separately. Blobs are stored on the local filesystem by default (S3 optional). Valkey is also optional (as an alternative to the built-in cache). 23 + Unlike the ref PDS, Tranquil itself is compiled to a single binary with no nodeJS runtime. However, at time of writing, Tranquil requires postgres running separately. 16 24 17 25 ## Quick Start 18 26 ··· 55 63 - [Containers](docs/install-containers.md) 56 64 - [Kubernetes](docs/install-kubernetes.md) 57 65 58 - ## Maintainers to ping 66 + ## Core team 59 67 60 - - [@lewis.moe](https://bsky.app/profile/did:plc:3fwecdnvtcscjnrx2p4n7alz) 61 - - [@nel.pet](https://bsky.app/profile/did:plc:h5wsnqetncv6lu2weom35lg2) 68 + - [@lewis.moe](https://tangled.org/did:plc:3fwecdnvtcscjnrx2p4n7alz) 69 + - [@nel.pet](https://tangled.org/did:plc:h5wsnqetncv6lu2weom35lg2) 62 70 63 - ## Thanks 71 + ## Amazing contributers 64 72 65 - This project is very grateful to [@nonbinary.computer](https://bsky.app/profile/did:plc:yfvwmnlztr4dwkb7hwz55r2g), [@juli.ee](https://bsky.app/profile/did:plc:7vimlesenouvuaqvle42yhvo), [@mary.my.id](https://bsky.app/profile/did:plc:ia76kvnndjutgedggx2ibrem), and [@baileytownsend.dev](https://bsky.app/profile/did:plc:rnpkyqnmsw4ipey6eotbdnnf) for their help and their code to lean on. 73 + - [@isabelroses.com](https://tangled.org/did:plc:qxichs7jsycphrsmbujwqbfb) 74 + - [@quilling.dev](https://tangled.org/did:plc:jrtgsidnmxaen4offglr5lsh) 75 + - [@koi.rip](https://tangled.org/did:plc:b26ewgkrnx3yvsp2cdao3ntu) 76 + - [@bas.sh](https://tangled.org/did:plc:c52wep6lj4sfbsqiz3yvb55h) 77 + - [@nekomimi.pet](https://tangled.org/did:plc:ttdrpj45ibqunmfhdsb4zdwq) 78 + - [@islacant.win](https://tangled.org/did:plc:aut6evcs6d6ngaunqgfhdzzu) 79 + - [@a.starrysky.fyi](https://tangled.org/did:plc:uuyqs6y3pwtbteet4swt5i5y) 80 + - [@sans-self.org](https://tangled.org/did:plc:wydyrngmxbcsqdvhmd7whmye) 81 + 82 + ## Community Tranquil PDS instances in the wild! 83 + 84 + - [Tranquil Farm](https://tranquil.farm) 85 + - Your instance here!! Don't be a stranger. 86 + 87 + ## Special thanks 88 + 89 + This project is very grateful to [@nonbinary.computer](https://tangled.org/did:plc:yfvwmnlztr4dwkb7hwz55r2g), [@juliet.paris](https://tangled.org/did:plc:hs3aly5l26pozymy4b6hz7ae), [@mary.my.id](https://tangled.org/did:plc:ia76kvnndjutgedggx2ibrem), [@baileytownsend.dev](https://tangled.org/did:plc:rnpkyqnmsw4ipey6eotbdnnf), and [@ptr.pet](https://tangled.org/did:plc:dfl62fgb7wtjj3fcbb72naae) for their help and their code to lean on. 66 90 67 91 ## License 68 92