this post was submitted on 22 Jul 2023
568 points (98.6% liked)

Selfhosted

40757 readers
898 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
 

Lemmy search isn’t great, or I’m too new, and can’t tell if this has been posted here before.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 70 points 1 year ago (7 children)

I miss the days when awesome lists were curated to actually have awesome stuff instead of being a list of 250+ self hostable apps.

There is no way these are all awesome. Call it the giant list of self hosted apps or something that actually makes sense.

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

awesome-selhosted maintainer here. This critique comes up often (and I sometimes agree...) but it's hard to properly "fix":

Any rule that enforces some kind of "quality" guideline has to be explicitly written to the contribution guidelines to not waste submitters' (and maintainers) time.

As you can see there are already minimal rules in place (software has to be actively maintained, properly documented, first release must be older than 4 months, must of course be fully Free and Open-source...). Anything more is very hard to word objectively or is plain unfair - in the last 7 years (!) maintaining the list I've spent countless hours thinking about it.

For example, rejecting new projects because an existing/already listed one effectively does the same thing would give an unfair advantage to older projects, effectively "locking out" newer ones. Moreover, you will rarely find two projects that have the exact same feature set, workflow, release frequency, technical requirements... and every user has different needs and requirements, so yeah, users of the list are expected to do some research to find the best solution to their particular needs.

This is of course, less true for some categories (why are there so many pastebins??). But again, it's hard to find clear and objective criteria to determine what deserves to be listed and what does not.

If we started rejecting projects because "I don't have a need for it" or "I already use a somewhat equivalent solution and am not going to switch", that would discard 90% of entries in the list (and not necessarily the worst ones). I do check that projects being added are in a "production-ready" state and ask more questions during reviews if needed. But it's hard to be more selective than we already are, without falling in subjective "I like/I don't like" reasoning (let's ban all Nodejs-based projects, npm is horrible and a security liability. Let's also ban all projects that are so convoluted and impossible to build and install properly that Docker is the only installation option. Follow my thoughts?)

Also, Free Software has always been very fragmented, which is both a strength and a weakness. The list simply reflects that.

Another idea I contemplated is linking each project to a "review" thread for the software in question. But I will not host or moderate such a forum/review board, and it will be heavily brigaded by PR departments looking to promote their companies software.

A HTML version is coming out soon (based on the same data) that will hopefully make the list easier to browse.

I am open to other suggestions, keeping in mind the points above...

250+ self hostable apps

1268 exactly.

You can help cleaning up the list of unmaintained projects by working on this issue

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

Are the unmaintained apps stored anywhere? Sometimes unmaintained apps work fine for many years afterwards or consider themselves complete

[–] RustedSwitch 6 points 1 year ago
[–] vegetaaaaaaa 3 points 1 year ago

https://github.com/awesome-selfhosted/awesome-selfhosted/issues/3558 Remember that some projects are feature-complete/mature/simple enough that they don't need much maintenance. Check if they still have active users/work as advertised before removing them.

These are usually kept for some time (or at least, not actively hunted and removed). You can also check pull requests labeled curation, or search the git log for remove.

[–] [email protected] 2 points 1 year ago (1 children)

I would imagine the source for most projects is hosted on GitHub, or similar platforms? Perhaps you could consider forks, stars, and followers as "votes" and sort each sub category based on the votes. I would imagine that would be scriptable - the script could be included in the awesome list repo, and run periodically. It would be kind of interesting to tag "releases" and see how the sort order changes over time. If you wanted to get fancy, the sorting could probably happen as part of a CI task.

If workable, the obvious benefit is you don't have to exclude anything for subjective reasons, but it's easier for readers of the list to quickly find the "most used" options.

Just an idea off the top of my head. You may have already thought about it, and/or it may be full of holes.

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

would imagine that would be scriptable - the script could be included in the awesome list repo, and run periodically.

The next version of the list will be based on https://github.com/awesome-selfhosted/awesome-selfhosted-data (raw YAML data), so much easier to integrate with scripts. There is already a CI system running at https://github.com/awesome-selfhosted/awesome-selfhosted-data/actions, and a preview of an enriched export at https://nodiscc.github.io/awesome-selfhosted-html-preview/ that take stars/last update dates and other metadata into account. This will all go live "soon".

Perhaps you could consider forks, stars, and followers as “votes” and sort each sub category based on the votes.
it’s easier for readers of the list to quickly find the “most used” options.

This would exclude (or move to the bottom of the list) all projects that are not hosted on these (mostly proprietary) platforms. Right now only metadata from Github is being parsed, in the future it will expand to Gitlab, maybe Gitea instances or similar, but it will take time and not all platforms have these stars/followers/forks features. This would also induce a huge bias as Github projects will have a lot more forks/followers/... than projects hosted on independent forges. Star counts can also (and absolutely are) manipulated by some projects that want to get "trending".

Also popularity != quality. A project whose code is hosted on cgit can be as good or even better than a project on Github (even more in the context of self-hosting...).

Just an idea off the top of my head. You may have already thought about it, and/or it may be full of holes.

It was a good idea :) But as you can see, it has its flaws.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

it has its flaws.

Yep yep. I was aware of some of what you pointed out - I think this might be a "perfect is the enemy of good" scenario, though. GitHub alone accounts for over 84% (based on the awesome-selfhosted-data repo):

$ grep -r 'source_code_url' | cut -d ' ' -f 2 | cut -d '/' -f 3 | sort | uniq -c | sort -rn | head -n 15
   1068 github.com
     36 gitlab.com
      7 git.mills.io
      6 sourceforge.net
      6 framagit.org
      4 www.atlassian.com
      4 codeberg.org
      3 git.drupalcode.org
      3 git.cloudron.io
      2 repos.goffi.org
      2 git.tt-rss.org
      2 git.sr.ht
      2 cvsweb.openbsd.org
      1 yetishare.com
      1 www.wiz.cn

$ python -c "print($(grep -r 'source_code_url' . | grep github.com | wc -l) / $(ls -1 | wc -l))"
0.8422712933753943

Adding in gitlab gets you to 87%:

$ python -c "print($(grep -r 'source_code_url' . | grep -i -e github.com -e gitlab.com | wc -l) / $(ls -1 | wc -l))" 0.8706624605678234

Also popularity != quality.

True, but a thriving community generally means more resources, guides, etc, which can be important, especially for self-hosted solutions.

In any case, the project is great, and much appreciated. Additionally, the enriched html version looks fantastic, and exposes most of the metadata* I'd want to see, regardless of how it's sorted.

*One other item to track, that I thought about after making my previous comment - number of contributors. It gives an additional data point on the size of the community, as well as an idea of how many people can be hit by busses before the continued development of the project gets called into question.

[–] vegetaaaaaaa 1 points 1 year ago

Thanks, you make an interesting point, I will have another look at it.

track [...] number of contributors

That would be an interesting stat, noted https://github.com/awesome-selfhosted/awesome-selfhosted-data/issues/35. Github API rate limits will make it a bit tricky to update regularly though (https://github.com/nodiscc/hecat/issues/112), but it can definitely be done - even if it's not updated every day.

[–] stevedidWHAT 28 points 1 year ago* (last edited 1 year ago) (2 children)

It’s covers a pretty wide range of topics hence the bigger number…

Either way, would you refuse a library because it had too many books or would you use a searching/organizational system to locate what you want

[–] [email protected] 23 points 1 year ago (2 children)

In this analogy, GitHub would be the library and the awesome list would be the recommended by the librarian section. If my librarian stopped curating that section and just filled it with a specific type of book no matter the quality I would stop browsing their curated section.

[–] stevedidWHAT 9 points 1 year ago (1 children)

Again, large size doesn’t necessarily equate to being washed out…

[–] [email protected] 7 points 1 year ago (4 children)

Are you disagreeing with them and saying OP list contains only curated awesome projects?

Do you really need 13 blog platforms? By that point, don't I have to do another analysis and curation to decide what to use? With the generic descriptions that seem to be copy-paste from the projects descriptions, where's the descriptive and usefulness-assessment of curation? If one of the 13 is "Extra-awesome, extra-lightweight blog engine." - why are there even others if it's "extra awesome"? What does that even mean?

[–] EncryptKeeper 11 points 1 year ago

All 13 blog platform could be awesome and you’d want all 13 on the list because while all awesome, they’re awesome in different ways. They each have different workflows even which is something that’s really important to someone writing blogs. Do you want a WYSIWYG editor? Do you prefer Markdown? Do you want a static site generator? All these things are awesome and each fit a distinct use case.

[–] stevedidWHAT 11 points 1 year ago

I really just don’t understand why we feel the need to be pedantic on the linguistics of a list of resources someone found to be (subjectively, and inherently) “awesome”

Grumpy cat energy begone

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

What does that even mean?

See my reply above (https://lemmy.world/comment/1592102), that's exactly what is hard to determine objectively.

don’t I have to do another analysis and curation to decide what to use?

Yep, you do.

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

Lol I'm so surprised some self hosters are so lazy they can't even make a selection out of a few already curated items. Like would you rather have no options at all (use this ONE project, nothing else matters) or not even have the list and have to find the projects on your own?

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

I agree with your point, interesting to see people downvoting without commenting.

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

I would expect an „awesome-books“ list to not include every book ever written.

[–] RustedSwitch 9 points 1 year ago* (last edited 1 year ago)

Do you think it’s fair to say that one size does not fit all, so a giant list of self hosted options for people to choose from, is itself awesome?

The benefit of self hosting boils down to being able to make your own choices. Having a full list of options to choose from and make your own decision fits this community better (for better or worse) than someone else curating that thing for you.

[–] [email protected] 6 points 1 year ago (1 children)

And a lot of the best options per category are at the bottom of the list.

[–] vegetaaaaaaa 2 points 1 year ago

best

As I replied above, "best" is subjective.

But yes, alphabetical ordering is not always the most adapted.

[–] c0mbatbag3l 4 points 1 year ago

I'd rather a bulk list of everything that can be set up on a home lab, personally. I'll decide what is and isn't useful to me.