A social media server
Lots of data up a small pipe Reviewed-on: #3 Co-authored-by: cataclock <cataclock@proton.me> Co-committed-by: cataclock <cataclock@proton.me> |
||
|---|---|---|
| src | ||
| .gitignore | ||
| AGENTS.md | ||
| Cargo.toml | ||
| LICENSE.md | ||
| README.md | ||
Socialite
A social media server
For developers
- .storage is used for permanent keeping of objects. Usually this means things that is stored on your own server, such as accounts or posts. They need to be verified, you know ;]
- .cache is used for temporarily keeping of objects. While ActivityPub is meant to be super spammable to other servers, what we don't want to happen is repeatedly getting those files. It's wasting the time of the users. See fedi.crowdedgames.group as an example of this.
Test suite: https://activitypub-testing.socialweb.coop/implementation-guide/
Command to generate certificates for testing:
cargo install --locked rustls-cert-gen;
~/.cargo/bin/rustls-cert-gen --output certs/ --san localhost;
Command to get the test suite to not panic about "unknown certificates": export NODE_EXTRA_CA_CERTS=~/Git\ Repositories/Socialite/ca.crt
Command in case of UNABLE_TO_VERIFY_LEAF_SIGNATURE (TESTING ONLY): export NODE_TLS_REJECT_UNAUTHORIZED=0
Command to run: cargo run -- 127.0.0.1:8080 --cert cert.pem --key cert.key.pem
Command to activate the test suite: activitypub-testing test actor https://localhost:8080/users/ + add the actor you are testing with (the one you registered) + .json
Setup
Dependencies
- rust (cargo and rustc)
System Requirements
- 20 GB storage minimum (recommended 500 GB)
- I recommend SSD or NVME for something like this. This server does a lot of checks on your files because that's how it is.
- 500 MB RAM
- Any CPU provided that it can multi-thread.