This is what the notice (https://join-lemmy.org/docs/en/administration/from_scratch.h...) actually says:
> Disclaimer: this installation method is not recommended by the Lemmy developers. If you have any problems, you need to solve them yourself or ask the respective authors. If you notice any Lemmy bugs on an instance installed like this, please mention it in the bug report.
Supposedly so it's easy to reproduce issues locally. I remember participating in the PHP community long time ago, and constantly having to replicate peoples arbitrary Apache/NGINX configurations just in order to reproduce issues, so it's not surprising that people are using Ansible/Docker for setting up development environments.
I just wished people stopped pushing for that bloated mess in production too, but step by step...
cargo build --release
and then creating the PostgreSQL user and database, and editing a config file then running the lemmy binary.I don’t see a problem.
Serving the frontend cannot be a challenge either I imagine but I didn’t bother looking at the frontend.
From my point of view, having to build things is a hassle: one needs the dependencies, it will work differently on different OSes/distros, the maintainer needs to keep the build instructions up-to-date and verify manually that they won't break (for all OSes/distros). Ansible or Docker just gives you a reproducible thing, easier to verify in one step whether the build instructions in it still work.
To know your enemy, you must become your enemy - Sun Tzu, "The Art of War".
Developers as well as operators should read Sun Tzu and take what they read to heed. To know what you're running it makes sense to know what you're installing. While this still leaves open the chance of the actual code being riddled with nasty bits it at least removes the chance of the Ansible playbook or dockerfile adding something "extra".
If you choose Run A Server, it suggests two main options: Ansible or Docker. It specifically warns against "from scratch".
When I'm developing software, I want people to be building it from scratch. If someone likes something I made enough that they want to take it and build a docker or ansible thing out of it ... okay, that's flattering, albeit a little confusing, and it's not my default.
And I probably wouldn't agree to support those third-party ansible/docker things which someone else felt the need to create.
What happened to rolling a versioned tarball that you can chuck in opt or wherever and point nginx at it? Eg, if I knew I could pull in versions of lemmy server through my package manager, I'd be totally trying it out as my side-project this weekend.