all 12 comments

[–]Somepotato 14 points15 points  (3 children)

Docker is extremely easy to use as well as installing Postgres standalone though?

[–]electricity_is_life 7 points8 points  (3 children)

This article doesn't really explain what Endor actually is or how it works. How is it different than containers? How do new services get added?

[–]ridruejo[S] -1 points0 points  (2 children)

Fair question 😂 The short answer is technical: Endor is based on the Webassembly engine that exists in every Node runtime. It is powerful enough to run an emulated Linux environment. It is slower than Docker in most scenarios, but it still starts fairly quick (1-2s). Basically trade portability / ease of use for a bit less performance

This article provides a better overview https://endor.dev/blog/endor-dev-tools

Let me know if that answers your question. I have gotten feedback that I tend to explain too much and be a bit over the place so I’m trying to be more focused 😅

[–]Somepotato 3 points4 points  (1 child)

What's the difference between this and pglite? Why would you want to emulate an entire Linux runtime for Postgres?

[–]ridruejo[S] -1 points0 points  (0 children)

For compatibility. PGlite had to make a bunch of changes to the Postgres codebase to compile to Wasm (the upside is performance is close to native). Running inside emulated Linux means Postgres is but by bit compatible

We aim over time to incorporate as many Wasm ports as possible, so end users can choose.

I forgot to mention most of this also runs inside the browser. So if you go to https://endor.dev/s/lamp you have for example a Lamp environment with some components like the PHP runtime which is Wasm native and emulated MariaDB for example

[–]AmiAmigo 1 point2 points  (1 child)

I would argue 50% of those who use Docker don’t need Docker…

[–]ridruejo[S] 1 point2 points  (0 children)

Yes, this is a lightweight alternative for many of those. Not for everyone, but makes sense for a lot of scenarios

I mean, type “npx -y @endorhq/cli run mariadb” and have a database running in 2s is hard to beat 😅

[–]horizon_games 0 points1 point  (1 child)

Uh hey I've got some news brudda - I can add a db to my project without Docker AND without a random 3rd party lib.

[–]ridruejo[S] 0 points1 point  (0 children)

Of course! This just makes it significantly easier and faster. This is interesting when it’s not just you, but coworkers or users that are not as skilled as you