A self-hosted social network for families and other small groups.
My Family and I used an app called Path to share private photos and moments for a number of years. It served us well, but unfortunately went the way of the dinosaur unexpectedly. I wanted to build something similar as a contingency plan, and Knot was the result. This repository represents the server-side component that one would self-host to act as the API for their private network, and it's up to you to design and write a client that interfaces with it. If you would like an opinionated starting point for a client application, feel free to check out the sample client. Many of the currently supported features exist to mimic much of the functionality of Path, and that's generally the Path (hehe) I'll take. As this project is fully open source, you are more than welcome to add, remove or modify any functionality you wish.
Thanks for checking out Knot!
Knot's authentication system is powered by Laravel Sanctum. Users sign in with a simple email and password, and the server will send back a cookie to authorize all subsequent requests.
Attach up to 5 photos or videos to a single post.
- Tag friends in your posts
- Add a location to your posts
- Supports first name, last name, email, password, and avatar.
- Cover image support coming soon.
Optionally attach the commenter's location to the comment as well.
Simple, customizable reactions to a post without the need to comment.
- Send and receieve friend requests
- Accept or deny friend requests
- Remove existing friends
A ready-to-go (and easily changeable) feed of posts from the authenticated user and their friends.
Receieve notifications when:
- You're added as a friend
- Someone accepts your friend request
- Someone comments on your post
- Someone replies to a comment thread you are a part of
- Someone adds a reaction to one of your posts
All notifications are currently stored in the database, but can be easily updated to go through other channels such as Slack as well.
Knot supports Cloudinary secure signature generation for all media uploads. Cloudinary has a generous free tier, and a really powerful suite of media management and manipulation tools. Check them out!
Coming soon...