webysther / hoppscotch-docker

All-in-one hoppscotch image that works with one domain and have embed smtp
https://hub.docker.com/r/webysther/hoppscotch
MIT License
19 stars 5 forks source link

`POSTGRES_PASSWORD` env variable is needed for setup #1

Closed catfishlty closed 1 year ago

catfishlty commented 1 year ago

Thanks for your great work of this repo, I've seen your PRs in hoppscotch repo, and I feel sorry that the great PRs are not merged.

For easy usage of this Image, I think POSTGRES_PASSWORD env is also needed for individual values to accept Postgres Database Password.

webysther commented 1 year ago

Hi, thanks! This is how OSS works at end of the day! You could point where is wrong? I look in the readme and don't find, or send me a PR, here we accept... 😅

catfishlty commented 1 year ago

No Problem, I'm working on hoppscotch main repo these days. After that, I'll submit a PR to improve this repo.

Besides this, I wonder that why using s6-overlay, is it to start 2 static web service by Caddy and 1 Node Service in only one container? And I check shell code in .docker, I saw that build steps are running after container startup not in Docker Image Build steps, is that right? (I'm not familiar with s6-overlay)

webysther commented 1 year ago

No Problem, I'm working on hoppscotch main repo these days. After that, I'll submit a PR to improve this repo.

Besides this, I wonder that why using s6-overlay, is it to start 2 static web service by Caddy and 1 Node Service in only one container? And I check shell code in .docker, I saw that build steps are running after container startup not in Docker Image Build steps, is that right? (I'm not familiar with s6-overlay)

No problem.

I use S6 because make possible to run script before start service and to run multiple services and the build process at same time. The common usage is to people that want to start using a service without the need to build when, but the main project has a few problems:

For these problems the easu way is jut fix the locations in the main project to accept .env, but is not easy because they only what they want and I saw this because a few forks that is out there, in the past they only accept firebase and one guy started a mysql backend version, and magic happens, postgresql started to apper. So the project is great but the maintaner aren't. So I move in a logic to make all fixes without touch the code to the easy to anyone to track what in inside and what is need to change, if they want, just change the 10 files I apply sed and I can kill my project, but they just don't want, so the sed shows what anyone can do to have a very customized one.

You can use without S6, but you need to build everything in one way very customized to you, for me is the easy but not good way to lots of people ask for this, so I invest a few hours more and make a image that build the code when running and skip the build when no configuration is changed, so more people can use in this way.

Look, this happens with nextcloud fork owncloud, this happens with hoppscotch and the fork using mysql, and with standardnotes too and the frontend not ready, this happens all the time and for lots of reasons, my main one is the developer create a 80% solution to get money for the 20% that left, because support is the way to make money with open source, I don't blame, just make me sad, for me ins't a good move.

webysther commented 1 year ago

But hoppefully they will provide in near future a main docker image this make really easy to apply changes, the build process takes incredable amount of memory (+8GB) and this maybe was fixed too. Mostly projects I have in my self hosted box that consume lots of resources is always the most hard to get up and running and with terrible support, this is curious, because lots of golang projects used a fraction of memory and work well with sqlite and that says a lot of every path, in near future like I saw in the past 15 years these projects will disapear, I have only 5 projects like this out 40, in the past was 50/50 and they don't endure, I can say this for sure, but I choose because is the best for my own personal needs hopping they make a good move or die with a better solution alternative.

webysther commented 1 year ago

Fixed https://github.com/webysther/hoppscotch-docker/commit/453262c344889b8e6a7b9f0bd11de6016183490f

catfishlty commented 1 year ago

Can't agree more, and I feel sorry again that what you've encountered with the PR in hoppscotch repo. I don't understand the maintainer either, "why they didn't just accept good solutions?" Thanks for fixing that little one I report. I'm working on how to build the Image better these days, and I'm willing to show you my works If you don't mind.

To reduce Memory usage, I recommed that using Multiple build can solve it. And I'm trying to using PM2 to host 2 static web service(web-frontend, admin-frontend) and 1 node service(backend).

webysther commented 1 year ago

Can't agree more, and I feel sorry again that what you've encountered with the PR in hoppscotch repo. I don't understand the maintainer either, "why they didn't just accept good solutions?" Thanks for fixing that little one I report. I'm working on how to build the Image better these days, and I'm willing to show you my works If you don't mind.

To reduce Memory usage, I recommed that using Multiple build can solve it. And I'm trying to using PM2 to host 2 static web service(web-frontend, admin-frontend) and 1 node service(backend).

After the last message I tested the 2023.7.8 and memory was fixed, the APP build reduced to 4GB, which is a very nice!

For a better image:

  1. Fix code to support .env vars without rebuild, I'm a backend developer mainly in python/php, so I can't fix this.

This is why they can provide one image, every one need to build, so every change in code to move in this direction is a victory.