-
-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Graphical Web UI #165
Comments
Hi @Gamerboy59 ! That's great. Yes, I will check it. For ACME, I am actually planning to integrate the automated certificate management process with |
If you integrate ACME (I think specifically letsencrypt) into |
It looks like PHP can't do the conversion natively as I suggested above. OpenSSL would be required to be installed and accessible by the webserver and can then be used by some php libraries. |
@Gamerboy59 first of all, thank you for the What is the need behind the requirement of nodejs, since it is originally made on PHP/Laravel? If it is because of some front-end requirements, the front-end can be pre-bundled in development phase and eliminate the need of NodeJS in production. After removing NodeJS from the equation you can go one step further, packaging Lastly, since we expect the database to be small in such a scenario of proxy management (just a few KBs for each proxy information), it makes more sense to use an embedded database like SQLite, which Laravel has native compatibility, instead of MySQL/MariaDB. Using SQLite and a single binary executable makes I hope my suggestions help your project to grow 🙂 |
Thanks for your comment, @paulocoghi ! Do you plan to host the Waiting for feedback from @junkurihara too and then maybe a beta version, ready to deploy, can be released. |
@Gamerboy59 Thanks for the feedback!
I normally install softwares like
If you are using Eloquent ORM, then you can switch databases by changing just a few lines on the configuration, and the rest should be transparent. |
I'll check if GitHub Actions support the generation of such binaries. My first attempt generated a huge file which is inconvenient.
Yes, Eloquent is used. You can already change the |
Have you tried to generate the binary based on the |
It would be interesting if SQLite is already defined as the default database, internally and transparently, because it makes the final executable natively independent of any external database |
This is already the default if you copy the
Thanks for that hint. I just downloaded theirs (for fpm) and it seems to work. However, I wonder how this is connected to |
This is a really important point and maybe my suggestion about providing There is one last approach which combines a lightweight php runtime (FrankenPHP) with an embedded web server (caddy) that is fully compatible with Laravel and is also based on In the end, my main feedback is that server applications (like Like when using NodeJS (packaging with This doesn't mean there isn't an audience for solutions which depend on an interpreter. There is and it's fine. Independent of anything, I appreciate your effort @Gamerboy59 🙂 |
I do really appreciate your efforts to find a solution. In my view, shipping a webserver and everything is just out of scope of this managing webapp instance. It would require me to constantly update the binaries, even if the code of
It is more convenient, I agree, but this convenience comes at a high sysadmin management effort. |
Sorry for my delayed responses, and thanks for your fruitful discussion! Honestly I've never write and use php. So I am not familiar with how to run the project in various environment with different dependencies. But I think that as @paulocoghi mentioned and the discussion is going on, shipping
Hmm it sounds really tough to newly integrate such function with |
@junkurihara I've included a Dockerfile which builds a ready to use docker image including php and webserver. The resulting image is over 600MB on disk which is too big to distribute. I've had a look again at the binary option but this is still not going to be a good option in my opinion. The webserver is around 20MB, the php binary another 15MB including all required modules and then some additional runtime dependencies of around 10MB which makes a 45MB binary. That's way too big for an application of about 1MB size. PHP is just not made to be distributed with a full stack. I should have created |
I started building packages for the system's manager which one the one hand requires the installation of apache24 as only webserver choice currently but on the other hand pretty automatically serves the webapp without the burden to manage the full tech stack. |
Do you prefer packages or docker containers? Adding the at time of compilation most current rpxy binary should be doable, too, so it'd one package or container for all. |
Before I start adding the ACME stuff (display cert, import custom etc.), can somebody test the current version? Would appreciate any feedback. If there is anything making the deployment of it a hurdle to you, let me know so I can see what can be improved. Right now this webapp can be deployed as shared hosting, docker container and distribution package (will add information about this to the |
Just for my case, a docker container is preferable. But |
I added the link to |
Thank you. :) |
@Gamerboy59 thanks a lot for you great contribution! I recommend providing a way to install without depending on docker as most as possible, in the same way we don't need docker to install But it's fine to also provide a docker compose file |
@paulocoghi thanks for your comment. Right now the distribution packages work in a way that I hope this makes a bit sense what I just wrote. ;) sorry if I expressed this a bit unclear |
Hi :) |
Good news @Gamerboy59 !
Fully agree on this one!
I suggest to have distribution packages for both |
Thanks for your answer @paulocoghi. Good idea to seperate |
Hi, sorry for my delayed reply. Thanks @paulocoghi and @Gamerboy59 for your discussion!
That's a good news! Good job 👍
Yes, I think it is a nice idea.
I agree with this opinion :-) I have never built RPM / DEB packages and used |
I'm setting up a pipeline to build |
As mentioned in #182, I've setup a page with instructions: https://rpxy.gamerboy59.dev/ |
Awesome! That's seems really helpful for users. BTW I think current configuration documentation, i.e., |
Hi @junkurihara Thanks for your comment. I'm glad you like the first version of my package-site. |
Hi @Gamerboy59 , thanks for the comment 😄 Yes, GitHub Pages are promising options. I will try to make a website on another repo!
I think the inclusive documentation seems better, it is tough to make it though. |
Hello,
I created a web user interface for managing the rpxy instance. It's made with Laravel and Bootstrap. I've included most configuration variations I guess. As a future feature, I thought of adding phpACME support for managing ssl certificates if this won't be of the domain of rpxy itself.
Maybe you can check it out and let me know what you think. We can further test and add/fix missing logic. Once you think it's good to share, maybe you can add a link to your readme so people will get to know it more easily.
https://github.com/Gamerboy59/rpxy-webui
The text was updated successfully, but these errors were encountered: