this post was submitted on 22 Aug 2023
161 points (99.4% liked)

Selfhosted

40667 readers
275 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

This is a new, improved version of https://github.com/awesome-selfhosted/awesome-selfhosted/

Please check the release announcement for more details.

Maintainer here, happy to answer questions.

top 9 comments
sorted by: hot top controversial new old
[–] m4z 6 points 1 year ago (1 children)

I started working on a similiar project a few weeks ago.

I crawled the old markdown version and then queried the GitHub GraphQL API for some additional info like topics, avatars and commit count over the past year.

Repo: https://github.com/mkitzmann/awwesome Demo: https://awweso.me/

Im more than happy to collaborate on this if there is any interest.

[–] vegetaaaaaaa 7 points 1 year ago* (last edited 1 year ago) (1 children)

Hi, sorry to bother you with this first off, but please comply with the license since this is a derivative work. It just needs attribution, a link back to the project, and a link to the license (like data by the awesome-selfhosted community, licensed under CC-BY-SA 3.0) somewhere (page footer is fine). It's nothing against you or your site, but the license must be enforced.

I'm not sure topic tags defined by project owners are very relevant or useful? vuejs hacktoberfest javascript, etc... at least some are redundant with the description/language tag, or just filler words... If you're looking for a specific word on https://awesome-selfhosted.net/, isn't the search feature enough? Interested to hear other opinions.

Icons are interesting, maybe you'd like to open an issue for this? We could try to add icons to each item (a number of them can probably be automatically gathered through Github's API like you did)

Commit history graphs don't really help much (as no scale is shown), but maybe we could improve the way project "activity" levels are displayed on https://awesome-selfhosted.net. Currently we only show the date of last commit to each project. I think it is useful but it does not tell much about the frequency of commits.

FYI the generator for the final HTML version can be found here

[–] m4z 2 points 1 year ago (1 children)

Very sorry for the missing attribution. I added it in the header, should be online now.

Just want to say that Im a big fan of what you guys do! Awesome Selfhosted is really great.

Regarding the topics Im also not 100% happy with it but at least it provides the ability to find projects that likely support docker for example. It would probably be great to have this kind of information inside awesome selfhosted.

More than happy to add an issue for Icons. The problem here is that repos dont actually have icons, there are only icons from the owner of the repo. So with some projects its a photo of the owner for example.

I looked a bit into how best to determine the activity level of a project and for me commit history is one of the strongest signs. Also Github uses this kind if graph in a users repo overview so its already familiar to GitHub users. There should be a label with the max number of commits to provide some scale, could be a browser problem.

There is also https://isitmaintained.com/ which measures issue resolution and percentage of open issues. But this can also be quite missleading since it shows positive for an empty repo.

Thanks for the link to the generator, I will look into it.

[–] vegetaaaaaaa 1 points 1 year ago (1 children)

Very sorry for the missing attribution. I added it in the header, should be online now.

No problem, thanks for fixing it so quickly!

at least it provides the ability to find projects that likely support docker for example

This information is already present but we need to make it easier to browse projects by platform -> https://github.com/awesome-selfhosted/awesome-selfhosted-data/issues/71

There should be a label with the max number of commits to provide some scale,

^now I see it but it's a bit small :)^

I looked a bit into how best to determine the activity level of a project and for me commit history is one of the strongest signs. Also Github uses this kind if graph in a users repo overview so its already familiar to GitHub users.

I see, I agree it's a good metric. I am wary of adding too much information that relies on Github APIs because 1. it encourages centralization on a proprietary platform 2. we are already running into API rate limits with just the info we currently gather (stars count + last commit date). And we would need a way to store this graph information in the raw YAML data somehow. If you want to create an issue for this, to gather more feedback and so it can be discussed further, please do!

[–] m4z 1 points 1 year ago (1 children)

I am wary of adding too much information that relies on Github APIs because 1. it encourages centralization on a proprietary platform

Couldnt agree more! This is why I decided not to use discussions or issue count since those are GitHub specific. Commit count could be gathered from any platform that uses git.

  1. we are already running into API rate limits with just the info we currently gather (stars count + last commit date).

Im using the GitHub GraphQL API to query all necessary information for 100 repos at a time, including commit count per month. The rate limit for GraphQL is allowing up to 5000 points per hour and on of these queries only costs 1 point. Herre is my code to generate the query: https://github.com/mkitzmann/awwesome/blob/main/src/lib/query.ts

And we would need a way to store this graph information in the raw YAML data somehow. If you want to create an issue for this, to gather more feedback and so it can be discussed further, please do!

The Informationen is currently just „{month: count,…}“, so should be fairly simple to store in yml. I will create an issue for it.

[–] vegetaaaaaaa 2 points 1 year ago* (last edited 1 year ago)

The rate limit for GraphQL is allowing up to 5000 points per hour

When using the automatic GITHUB_TOKEN created for each GH actions workflow, the limit is only 1000 requests per hour [1]. The list has 1080 projects whose source is hosted on github, and we must do 2 API calls for each one because for some reason the date of last commit to the default branch is not available directly from the repos API endpoint [2] (do not trust updated_at/pushed_at, it's a lie). So we currently have to add a sleep of ~7 seconds between each API call to not hit the rate limit for the metadata update job that runs daily.

The limit of 5000 requests/hour only applies to personal access tokens which have far too many permissions on my personal account to be used in a shared/community project.

Someone in https://old.reddit.com/r/selfhosted/comments/15y7y36 mentioned https://analyzemyrepo.com/analyze/inventree/InvenTree which may be interesting to integrate somehow.

[–] [email protected] 4 points 1 year ago

Thanks for all you do!

[–] [email protected] 3 points 1 year ago

There's so many...

[–] [email protected] 2 points 1 year ago

This is excellent