This repository has been archived on 2023-09-24 . You can view files and clone it, but cannot push or open issues or pull requests.
				
			
		
		
		
		
		
		
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.
Description
				
					Languages
				
				
								
								
									Python
								
								83.4%
							
						
							
								
								
									HTML
								
								12.6%
							
						
							
								
								
									CSS
								
								3.6%
							
						
							
								
								
									Dockerfile
								
								0.2%
							
						
							
								
								
									Shell
								
								0.1%