this post was submitted on 14 Aug 2025
117 points (99.2% liked)

Selfhosted

50526 readers
405 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
you are viewing a single comment's thread
view the rest of the comments
[–] semperverus@lemmy.world 5 points 1 day ago (6 children)

I wish we would all start switching over to JSON for configuration files. It's so much easier to parse, and you can't screw it up with too many spaces or not enough.

[–] timbuck2themoon@sh.itjust.works 18 points 1 day ago (1 children)

No thanks. Yaml isn't perfect but by God json is best used to return and parse data, not input it.

[–] tiramichu@sh.itjust.works 7 points 1 day ago* (last edited 1 day ago) (2 children)

My biggest peeve with JSON when I'm forced to use it as a configuration format is that it doesn't have any syntactical support for comments.

So I can't even add any notes to the file.

[–] lightnegative@lemmy.world 3 points 21 hours ago

Yep this for me too. Thankfully VSCode allows comments in its settings.json / launch.json files but most programs use strict JSON which doesn't allow comments

[–] vinnymac@lemmy.world 2 points 1 day ago* (last edited 1 day ago)

Yea, this is a deal breaker imo. My code tends to be 10 to 1 comments to lines of code ratio. Configuration even more so.

jsonc/json5 exists for this use case, but few tools actually use it, yaml is far more popular

[–] lightnegative@lemmy.world 5 points 1 day ago (1 children)

I used to think that until I figured out yaml and now yaml isn't so bad.

It helps that text editors know what yaml is now so insert spaces when you hit tab etc

[–] tuhriel@infosec.pub 5 points 1 day ago (2 children)

My biggest gripe with yaml (especially in docker-compose files) is that l, for me at least, it is absolutely not clear when I need to add dahes (-) in front of multiple entries and when it's just linebreaks.
And there are no easy accessible docker-compose validators...

[–] moonpiedumplings@programming.dev 3 points 1 day ago (1 children)

Try the yaml language server by red hat, it comes with a docker compose validator.

But in general, off the top of my head, dashes = list. No dashes is a dictionary.

So this is a list:

thing:
    - 1
    - 2

And this is a dictionary:

dict:
    key1: value1
    key2: value2

And then when they can be combined into a list of dictionaries.

listofdicts:
    - key1dict1: value1dict1
    - key1dict2: value1dict2
      key2dict2: value2dict2

And then abother thing to note is that yaml wilL convert things into a string. So if you have ports 8080:80, this will be converted into a string, which is a clue that this is a string in a list, rather than a dictionary.

[–] tuhriel@infosec.pub 1 points 21 hours ago

That actually makes sense...thank you!

[–] iggy@lemmy.world 7 points 1 day ago (1 children)

No support for comments? Hard pass

[–] Voroxpete@sh.itjust.works 5 points 1 day ago (1 children)

Yeah, this is my biggest annoyance with JSON. As a data structure it's very elegant, but it only really makes sense to people who know how to code, and without the ability to add comments you have to rely heavily on external documentation to make it readable to most users.

[–] cravl@slrpnk.net 3 points 1 day ago

And like yeah, both the wonderful (and foss!) .json5 and Microsoft's semi-proprietary(?) .jsonc exist, but most projects just use their language's default JSON parser that doesn't recognize them. What I would personally love to see is .json5 support baked into the default JSON parsing libraries of Python, Go, etc. (Enabled by a flag, likely.) It's a superset of regular JSON and fully ES2019 compatible, so there shouldn't be any issues.

[–] Voroxpete@sh.itjust.works 5 points 1 day ago

Instead you can screw it up by having too many commas or not enough. Hardly that much of an improvement.

[–] FooBarrington@lemmy.world 3 points 1 day ago

It's IMO also so much clearer regarding data types. You can't accidentally write a boolean when you want a string.

[–] FrederikNJS@lemmy.zip 0 points 1 day ago* (last edited 1 day ago)

Why not just write your YAML files in JSON syntax?

JSON is a valid subset of YAML