An ActivityPub/Fediverse server
Find a file
2022-11-16 13:53:40 -07:00
activities Tag and visibility handling 2022-11-16 13:53:40 -07:00
core Tag and visibility handling 2022-11-16 13:53:40 -07:00
docker Start some settings work 2022-11-12 22:10:06 -07:00
static Tag and visibility handling 2022-11-16 13:53:40 -07:00
stator Get outbound likes/boosts and their undos working 2022-11-15 15:30:32 -07:00
takahe Tag and visibility handling 2022-11-16 13:53:40 -07:00
templates Tag and visibility handling 2022-11-16 13:53:40 -07:00
users Tag and visibility handling 2022-11-16 13:53:40 -07:00
.dockerignore Add basic docker support 2022-11-08 21:05:51 -07:00
.gitignore Add basic docker support 2022-11-08 21:05:51 -07:00
.pre-commit-config.yaml Got up to incoming posts working 2022-11-11 22:02:43 -07:00
CONTRIBUTING.md Improving contributing docs/process 2022-11-13 13:57:27 -07:00
LICENSE Improving contributing docs/process 2022-11-13 13:57:27 -07:00
Makefile Start some settings work 2022-11-12 22:10:06 -07:00
manage.py Improving contributing docs/process 2022-11-13 13:57:27 -07:00
README.md Tag and visibility handling 2022-11-16 13:53:40 -07:00
requirements-dev.txt Improving contributing docs/process 2022-11-13 13:57:27 -07:00
requirements.txt Get outbound likes/boosts and their undos working 2022-11-15 15:30:32 -07:00
setup.cfg More UI! 2022-11-13 16:15:14 -07:00

takahē

A very experimental Fediverse server for microblogging/"toots". Not fully functional yet - I'm still working on making all the basic bits work! For more background and information, see my blog posts about it.

Indended features:

  • Can run on serverless hosting (no need for worker daemons)
  • Multiple account domains possible per server
  • Async evented core for fan-out/delivery
  • Mastodon client API compatible (eventually)

Deployment

Requirements:

  • Python 3.11
  • PostgreSQL 14+
  • Lots of patience This is very experimental

Setup

More deployment docs will come soon! Just know that you need to run the Takahē Django app, and then either hit /.stator/runner/ or run ./manage.py runstator at least every 30 seconds.

Roadmap

Takahē is still under very active development towards something I'm willing to call a beta. I've grouped features here into milestones, along with if they're done yet or not. None of this is final, and the further into the future it is, the less sure I am about it.

Alpha

  • Create posts
  • Set post visibility
  • Receive posts
  • Handle received post visibility (unlisted vs public only)
  • Receive post deletions
  • Receive post edits
  • Set content warnings on posts
  • Show content warnings on posts
  • Attach images to posts
  • Receive images on posts
  • Create boosts
  • Receive boosts
  • Create likes
  • Receive likes
  • Create follows
  • Undo follows
  • Receive and accept follows
  • Receive follow undos
  • Do mentions properly
  • Home timeline (posts and boosts from follows)
  • Notifications page (followed, boosted, liked)
  • Local timeline
  • Federated timeline
  • Profile pages
  • Settable icon and background image for profiles
  • Following page
  • Followers page
  • Multiple domain support
  • Multiple identity support
  • Serverless-friendly worker subsystem
  • Settings subsystem
  • Server management page
  • Domain management page
  • Email subsystem
  • Signup flow
  • Password change flow
  • Password reset flow

Beta

  • Delete posts
  • Reply threading on post creation
  • Display posts with reply threads
  • Create polls on posts
  • Receive polls on posts
  • Emoji fetching and display
  • Emoji creation
  • Image descriptions
  • Flag for moderation
  • Moderation queue
  • User management page
  • Server defederation
  • Filters for posts/boosts
  • OAuth subsystem

1.0

  • IP banning
  • Trends subsystem and moderation
  • Server announcements
  • Automated post deletion
  • Post popularity system (for long gaps between timeline views)
  • Mastodon client API

Future

  • Relays?
  • Mastodon backup import? (would need url mapping for actors)

Contributing

If you'd like to contribute, please read CONTRIBUTING.md.