kopia lustrzana https://github.com/jointakahe/takahe
				
				
				
			| 
				
					
						
							 | 
			||
|---|---|---|
| activities | ||
| core | ||
| docker | ||
| static | ||
| stator | ||
| takahe | ||
| templates | ||
| users | ||
| .dockerignore | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| manage.py | ||
| requirements-dev.txt | ||
| requirements.txt | ||
| setup.cfg | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	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.
