Write README
parent: tbd commit: 530ac1a
Showing 1 changed file with 68 insertions and 0 deletions
README.md
@@ -0,0 +1,68 @@ | ||
1 | # Giterated | |
2 | ||
3 | Giterated is a federated solution for hosting, collaboration, and discovery for Git repositories. | |
4 | ||
5 | There are many benefits to self-hosting your Git repositories, and Giterated makes it easy to do that without sacrificing the ease of collaboration and discovery centralized Git platforms provide. | |
6 | ||
7 | Put simply: *Giterated is GitHub for the Fediverse.* | |
8 | ||
9 | ### [Why use Giterated?](#why-use-giterated) | |
10 | ||
11 | # Get Started | |
12 | ||
13 | Want to join the Giterated ecosystem? You have two options: | |
14 | ||
15 | ## **Prefered**: Host your own Instance | |
16 | ||
17 | Requirements: | |
18 | - A domain. | |
19 | - Somewhere to run the daemon and your choice of frontend. | |
20 | ||
21 | This is the preferred solution for joining the ecosystem. | |
22 | ||
23 | ## Join a Public Instance | |
24 | ||
25 | You can create an account on any instance that accepts public sign-ups. Be aware that there may be limitations placed on your use. Make sure to register on an instance you can trust to a certain degree. | |
26 | ||
27 | - https://giterated.dev (**Official**) | |
28 | - Open Registration, meant for those who want to explore the ecosystem with an account, without making a decision on how they're going to participate long-term. | |
29 | - Creation of Public or Unlisted repositories is disabled | |
30 | - Repositories will be deleted after 24 hours. | |
31 | - List other ones | |
32 | ||
33 | # Why use giterated? | |
34 | ||
35 | ### Easy discovery and collaboration | |
36 | ||
37 | The main goal of Giterated is to make discovering and collaborating between self-hosted Git repositories as easy as centralized platforms. | |
38 | ||
39 | Giterated is designed to be primarily used from the frontend of your chosen instance. Your instance will automatically route requests to other Instances where needed, displaying information from other instances seamlessly alongside local information. | |
40 | ||
41 | Giterated uses realtime federation to keep every instance up-to-date on what repositories are available on other instances. This allows any individual Giterated Instance to search the entire Giterated ecosystem. | |
42 | ||
43 | ### Your use case is (likely) supported (Promise) | |
44 | ||
45 | Giterated is made to be used. It's important that your use case can be accomplished without unnecessary effort. | |
46 | Check out our setup flow chart: (TODO). | |
47 | ||
48 | ### Your instance, your way (Promise) | |
49 | ||
50 | You access the Giterated ecosystem mainly through your Instance, and you get to choose the frontend. Even when making use of Giterated's federation, you will have a consistent frontend experience. | |
51 | ||
52 | ### Extendable (Promise) | |
53 | ||
54 | Giterated's (link this) Plugin-based Architecture makes it easy to support custom use cases and integrations. Giterated's default GitHub integration makes use of the flexibility this provides to allow collaboration with GitHub-native repositories. | |
55 | ||
56 | # Architecture | |
57 | ||
58 | A Giterated Instance is comprised of the following parts: | |
59 | - The Instance's Keypair | |
60 | - The basis of Instance authentication. | |
61 | - Used to authorize messages and connections, as well as sign messages to authenticate their source. | |
62 | - The Daemon | |
63 | - Functions as the entire backend for the instance. | |
64 | - Routes messages to other instances as applicable. | |
65 | - Manages communication with other Instances for realtime federated messages. | |
66 | - The Frontend (optional) | |
67 | - Exposes a frontend for the Daemon | |
68 | - Connects to one daemon, with requests to other instances routed through that daemon. | |
68 | \ No newline at end of file |