activities | ||
core | ||
docker | ||
docs | ||
static | ||
stator | ||
takahe | ||
templates | ||
users | ||
.dockerignore | ||
.gitignore | ||
.pre-commit-config.yaml | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile | ||
manage.py | ||
README.md | ||
requirements-dev.txt | ||
requirements.txt | ||
setup.cfg |
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
- Receive images on posts
- Receive reply info
- Create boosts
- Receive boosts
- Create likes
- Receive likes
- Create follows
- Undo follows
- Receive and accept follows
- Receive follow undos
- Do outgoing 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
- User search
- 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 reset flow
Beta
- Attach images to posts
- Edit posts
- Delete posts
- Password change flow
- Fetch remote post images locally and thumbnail
- Show follow pending states
- Manual approval of followers
- 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
- Hashtag search
- 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.