Aster is a federated microblogging software (heavily in development) intending to include the fun features of software like Misskey and also the practical features of software like Mastodon.
I also intend to have a somewhat good quality codebase with limited repetition and similar style throughout.
Development instance (sometimes) available at https://dev.aster.pages.gay/. It's run through a Cloudflare tunnel and is on my computer, so it's only up when I'm working on it.
Latest of all of these are best, haven't tested for minimum versions.
Install dependencies with pnpm i
and then build with pnpm build
.
Afterward, copy ./config/example.yaml
to ./config/production.yaml
and update it to your liking.
Make sure your url set in the config is right. If it isn't, your instance actor will be generated wrong, and you won't be able to federate.
It is recommended you set the logging to fancy during initial setup.
After configuration, run pnpm migrate
to set up your database
Run pnpm start
and your instance will start up.
Endpoints done:
Endpoints in progress:
/user/:id/followers (Collection of following actors)
/user/:id/following (Collection of followed actors)
/user/:id/outbox (Collection of recently sent public activities. Do I even do this? Does anyone even use it? may be good for backfill of notes. maybe just get past public notes and throw /activity at the end so it's all of a user's public Create and Announce activities? like is also fetchable, could do those also)
Endpoints needed:
*or entire object with LD signature, to save time on the fetching end. I need to look into the best way to implement this further.
Activities Sent:
I'm thinking of sending Create(Actor()) to instances with followers to local since I process that
Activities Processed:
Activities that should be processed in the future:
Processing of incoming emoji
Emoji on entities (emoji array on Note, User, Poll that joins?? ManyToMany?)
Fix note attachment joins. Cant it just be a left join?? have i been overthinking it?
bookmarks
bookmark timeline
drive endpoints
drive upload
report frontend and endpoints
handle robots.txt from backend, generate from config
favicon
devenv up
automatically starts a fresh postgres instance, creates a database and user with the correct permissions, and a redis instance.
devenv shell
opens a shell with helpful aliases and automatically adjusts which config is used by aster, so you don't have to modify the config to start.
you can use direnv to automatically start the devenv shell when in aster