In order to promote projects that use Gitea, I suggest to setup a system that list public repo of multiple instance.
This would be a separate project that leverage gitea api to retrieve information from Gitea instances.
The url could be like index.gitea.xxx or explore.gitea.xxx
The list of instance could be maintain by PR on the new project. That way we index only requested instances.
I was thinking already about creating such site... I even registered domain hubco.io for this :D
I like a union concept. When a gitea instance accept another gitea instance, then they will exchange public repositories for each other. And we can list all repositories on both sites. We can add a new top menu named indexes. You can search repositories by name and description.
The feature could be as a part of gitea, it should not be a standalone repository.
Furthermore, we can add the placeholder repositories on repositories search.
So that, there is no center server. Index site is still a center server.
We could add a table named RepoIndex
which only have RepoName
, RepoDescription
and RepoLink
or another column topics
. Then all repositories search will search this table but not repository
.
The feature could be as a part of gitea, it should not be a standalone repository.
I fear that it doesn't scale well in gitea.
So that, there is no center server. Index site is still a center server.
In this case, I think that is good to be centered (like a marketplace) and it is not needed for using Gitea. This should be an OSS so anymore can run it but having a "trusted" central point is important for publicity.
Later, when we have more insight on federation and better codebase this can become obselete by integrating it in gitea. In fact, this can provide experience for federation without impacting the security of gitea instances. (ex: rogue instance that send/expose malicious crafted payload)
@sapk that likes a search engine for git repositories, not only for gitea but also all git repositories on the internet.
Yes you can see it like that but the main goal is gitea.
If other git platform would like to be listed and do the implementation I wouldn't see any problem.
I like the idea, but I think it should be "opt-in" for either the whole instance or individual repos.
Rethinking about it and how to implement it (and variable time I have), I feel we could do a simple awesome-gitea (https://github.com/sindresorhus/awesome/blob/master/awesome.md).
That way only proposed project are listed.
Edit: the other advantage is that it can be directly forked/mirrored across various instances.
@sapk I like your new idea than before. If we can generate the list from the Gitea API and post PR to this repositories and all other gitea instances could mirror this repositories.
I made a poc with: https://explore.sapk.fr/#/ (go + js/vue + elasticsearch)
It is not perfect but a good POC.
I will release the sources.
@sapk Awesome! Did you just query the api of the instances and then put it in elasticsearch?
@kolaente exactly.
@sapk Awesome! Did you just query the api of the instances and then put it in elasticsearch?
Query the API of _which_ instances ? How did you find instances ?
--strk;
@sapk awesome!!!
@sapk You must be doing something right if @lunny himself cheers you.
@strk They are hard-coded in code currently. I found them via Twitter or some Google specific search.
The main issues are :
The source-code is available on gitea.com :
https://gitea.com/sapk/explore
https://gitea.com/sapk/explore-webapp
Most helpful comment
I made a poc with: https://explore.sapk.fr/#/ (go + js/vue + elasticsearch)
It is not perfect but a good POC.
I will release the sources.