MRatWork Forum by Mustafa Ramadhan

Sawo Project - Kloxo-MR Discussions => Kloxo-MR Development => Topic started by: fossxplorer on 2017-04-12, 17:41:43

Title: Thinking beyond cPanel/Plesk/DirectAdmin & taking Kloxo-MR to the next level
Post by: fossxplorer on 2017-04-12, 17:41:43
Hey @Mustafa,
as i see Kloxo-MR is getting close to stable release, i've recently thought about enhancement (since i'm getting to know Docker slowly) which would really rock to have in Kloxo-MR in future. As far as i know, there is no such solution as of today in the wild.
It's about ability to use Docker containers together with Kloxo-MR. For instance, imagine a provider with 100 customers using Wordpress(Magento or whatever apps).
In our "traditional" way, this would mean 100 different WP installations within the Kloxo-MR instance. Not only is this a headache to maintain, but also space inefficient.
By introducing a way to support Docker containers, we can run ALL of the 100 WP instances from one and the same Docker image. Security patching is done in minutes really for all 100 or 1000 instances!
If different WP versions are required, we can maintain a couple of different Docker images for that purpose (and possible for other reasons such as plugins etc).
And, we can expand this thinking further, with also "containerizing" other resource intensive apps like PHP-FPM. PHP-FPM can be run seperately, that's not a problem AFAIK. What's the benefit of this? Well, we can easily scale PHP-FPM instances needed based on load and other factors and spread over multiple servers.
Using Docker Swarm or similar, we will automatically get support for multiple servers and we can run our apps on any Docker hosts!

Just imagine the possibilities we have with what i've mentioned above.

If you don't know Docker, Google and read about it. It's in many ways NOT similar to LXC, OpenVZ containers  that are fully fledge OS minus kernel. Docker is focused on app delivery and isolation, rather than OS/VPS delivery with isolation.

If we can get such support in Kloxo-MR, it will simply take Kloxo-MR to next level and it will rock as a totally different control panel!

@Mustafa, i can even make a POC if you think this is interesting using C7 and Kloxo-MR. Is should not be hard even for me, a non-programmer, but just a sysadmin to try to make a POC to demonstrate this :) POC will be in a running Kloxo-MR inside LXC which i can later give you as an LXC image for you test as well :)


Title: Re: Thinking beyond cPanel/Plesk/DirectAdmin & taking Kloxo-MR to the next level
Post by: MRatWork on 2017-04-12, 18:34:56
Maybe it's implementing for next version (8.0?). I have next 1-2 months Kloxo-MR 7.0 will be final release.

For next version I have some targets:
1. Change master-slave to manager-worker for multiple servers
2. Have options to multiple webservers (yes, possible running nginx, hiawatha, lighttpd and apache together beside their proxy)
3. Implementing easy installer (ready to use install for wordpress and other applications)
4. Able to create VPS (OpenVZ or LXC)
5. Change to use sqlite instead mysql for panel database (it's mean mysql only for applications)
6. Other features.
Title: Re: Thinking beyond cPanel/Plesk/DirectAdmin & taking Kloxo-MR to the next level
Post by: fossxplorer on 2017-04-12, 22:42:51
Yes, that sounds good. First we need to do some tests to see if the things i've shared with you works well for for many use cases. I've just had this in my mind for some weeks and wanted to mention it to you! So good to use some time and think through all the challenges that might arise.  So for 8.0 sounds good if we find out it should be implemented. (i'm too busy until November 2017, will get more time for testing stuff after that)
1. That's actually a good idea. That way you can distribute different parts of the services or users to different servers and it's services.
2. Good one. Not everyone is dependent on Apache backend!  E.g Hiawatha-proxy with Nginx web server or Nginx-proxy with Nginx web server. I run the latter with a service i run (without Kloxo-MR), it's been working very well for 4 years now.
3. Hmm yes, but  my suggestions about Docker containers can be used to achieve this. We get a lot of  "Implementing easy installer " for free since Docker is meant for app deployment. Bu there might be challenges related to letting unprivileged users (e.g normal Kloxo-MR users) to "install" apps their selves. Well explained here http://www.projectatomic.io/blog/2015/08/why-we-dont-let-non-root-users-run-docker-in-centos-fedora-or-rhel/
Maybe we can have both options :) What about Installatron and such? :)
4.  Sounds good, but have you seen https://github.com/hypervm-ng?   (Also https://github.com/hypervm-ng/hypervm-ng/issues/1) :)
5. Will it be ok performance wise for control panel to use SQLite?

6.  I think clustering of  services that "can't be down" can be good: DNS (most important one IMO), mail server, etc.

Will you change mail server in 8? Just asking :)


Maybe it's implementing for next version (8.0?). I have next 1-2 months Kloxo-MR 7.0 will be final release.

For next version I have some targets:
1. Change master-slave to manager-worker for multiple servers
2. Have options to multiple webservers (yes, possible running nginx, hiawatha, lighttpd and apache together beside their proxy)
3. Implementing easy installer (ready to use install for wordpress and other applications)
4. Able to create VPS (OpenVZ or LXC)
5. Change to use sqlite instead mysql for panel database (it's mean mysql only for applications)
6. Other features.