{"id":14063341,"url":"https://github.com/knotworks/knot-server","last_synced_at":"2025-07-29T15:32:38.845Z","repository":{"id":37548809,"uuid":"90797109","full_name":"knotworks/knot-server","owner":"knotworks","description":"A decentralized server to build private social networks from.","archived":false,"fork":false,"pushed_at":"2023-04-19T20:26:05.000Z","size":1944,"stargazers_count":22,"open_issues_count":5,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-13T07:04:40.487Z","etag":null,"topics":["decentralized","network","social"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/knotworks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-09T22:23:28.000Z","updated_at":"2024-04-12T00:17:18.000Z","dependencies_parsed_at":"2024-01-29T19:30:48.185Z","dependency_job_id":"8ba6c812-d289-4c1a-a254-ee9f22f52501","html_url":"https://github.com/knotworks/knot-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knotworks%2Fknot-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knotworks%2Fknot-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knotworks%2Fknot-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knotworks%2Fknot-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knotworks","download_url":"https://codeload.github.com/knotworks/knot-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228028304,"owners_count":17858312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["decentralized","network","social"],"created_at":"2024-08-13T07:03:17.235Z","updated_at":"2024-12-04T01:30:37.368Z","avatar_url":"https://github.com/knotworks.png","language":"PHP","readme":"# Knot Server\n\n![](https://github.com/knotworks/knot-server/workflows/run-tests/badge.svg?branch=master)\n\nA self-hosted social network for families and other small groups.\n\n## Background\n\nMy Family and I used an app called [Path](https://path.com) 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](https://github.com/knotworks/knot-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.\n\nThanks for checking out Knot!\n\n## Features\n\n### Secure cross-site cookie authentication\n\nKnot's authentication system is powered by [Laravel Sanctum](https://laravel.com/docs/8.x/sanctum). Users sign in with a simple email and password, and the server will send back a cookie to authorize all subsequent requests.\n\n### Photo and video posts\n\nAttach up to 5 photos or videos to a single post.\n\n### Post meta attachments\n\n- Tag friends in your posts\n- Add a location to your posts\n\n### Simple profile management\n\n- Supports first name, last name, email, password, and avatar.\n- Cover image support coming soon.\n\n### Post comments\n\nOptionally attach the commenter's location to the comment as well.\n\n### Post Reactions\n\nSimple, customizable reactions to a post without the need to comment.\n\n### Friendship Management\n\n- Send and receieve friend requests\n- Accept or deny friend requests\n- Remove existing friends\n\n### Simple and customizable feed\n\nA ready-to-go (and easily changeable) feed of posts from the authenticated user and their friends.\n\n### Notifications\n\nReceieve notifications when:\n\n- You're added as a friend\n- Someone accepts your friend request\n- Someone comments on your post\n- Someone replies to a comment thread you are a part of\n- Someone adds a reaction to one of your posts\n\nAll notifications are currently stored in the database, but can be easily updated to go through other channels such as Slack as well.\n\n### Cloud Upload Support\n\nKnot supports [Cloudinary](https://cloudinary.com/) 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!\n\n## Installation\n\nComing soon...\n","funding_links":[],"categories":["PHP"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknotworks%2Fknot-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknotworks%2Fknot-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknotworks%2Fknot-server/lists"}