Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


I'm Developing desktop app to manage VPS - any ideas
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

I'm Developing desktop app to manage VPS - any ideas

I'm using VPS servers since 3 years now even I'm not Linux expert but I was able to manage all my servers very well without installing any Panel at all ,
As you all knows all the steps we use are repeated with every new installed node , e.g installing and download Nginx-php-MySql-wordpress and so on ,
And let be more honest most of people don't know what shell is and never heard about Linux or install anything using command line (and edit it configuration vim) ಠ益ಠ
manging an VPS is very difficult task to every one even expert doing typo and get bored from doing every task manually via command line .
in short I want reduce stupid tasks we do in command line to few steps done via graphic interface control this wild horse ( Linux )
The purpose is making site ready from an fresh installed minimized version of Linux (Debian or Centos ) without all this crappy control panels even installed .
My target hardware will NAT VPS with ( 128MB or maybe 64MB or RAM ) .
I don't know that much about Linux destitutions security but I notice CentOS 6.9 32bit have the lowest RAM footprint with 2.5MB only . others are not perfectly suitable for this kind of low end servers .
I already save text file (as usual ) contains all commands I type to update destitutions and install/compile latest version of imported softwares like openssh that not available via destitutions owners .

Comments

  • What kind of minimized are you talking about? What providers list as minimal differs widely and most of the time i end up uninstalling stuff even on said minimal versions so if you are shooting for minimalism the first step would be to check what is installed on the VPS and look for stuff to remove. Possibilities range from uninstalling services to localepurge and removing man pages to save diskspace. After that try to replace packages with lighter alternatives. dropbear instead of openssh, mksh instead of bash, ...

    Thanked by 1inklight
  • Sounds like docker

  • inklightinklight Member
    edited December 2017

    mksh said: What kind of minimized are you talking about

    The minimize that runs PHP-7/PHP5.6 and wordpress , I'm thinking get ride off MySQL and use Sqlite embedded with wordpress

    the ultimate goal is that app gives the users a running WP(at least) on VPS without typing single line code or installing any kind of panels . so it s not matter what's running on background (Even if it was Windows Iot ) , and making sure no one can break that server with possible security steps (like ssh IP/regions whitelist or login with ssl certificate ) so the server will accept connection fro the owner PC only .

  • @inklight said:

    mksh said: What kind of minimized are you talking about

    The minimize that runs PHP-7/PHP5.6 and wordpress , I'm thinking get ride off MySQL and use Sqlite embedded with wordpress

    Well, OK. Thought you cared about RAM usage, sorry.

  • @mksh said:

    @inklight said:

    mksh said: What kind of minimized are you talking about

    The minimize that runs PHP-7/PHP5.6 and wordpress , I'm thinking get ride off MySQL and use Sqlite embedded with wordpress

    Well, OK. Thought you cared about RAM usage, sorry.

    Ram RAM! We dunt care about no stinking RAMS!

  • @inklight said:

    mksh said: What kind of minimized are you talking about

    The minimize that runs PHP-7/PHP5.6 and wordpress , I'm thinking get ride off MySQL and use Sqlite embedded with wordpress

    the ultimate goal is that app gives the users a running WP(at least) on VPS without typing single line code or installing any kind of panels . so it s not matter what's running on background (Even if it was Windows Iot ) , and making sure no one can break that server with possible security steps (like ssh IP/regions whitelist or login with ssl certificate ) so the server will accept connection fro the owner PC only .

    Isn't this what shared hosting is for? One click installs for wordpress, no coding or thinking needed.

    If a site needs to use a vps there is a good chance that the site is going to scale greater than shared hosting. If that is the case why would you use sqlite? Even sqlite makers will tell you to use something else. The common user is going go for shared hosting. A professional using a vps will probably hire a person for their dev ops.

  • mksh said: Well, OK. Thought you cared about RAM usage, sorry.

    your contribution were helpful , thanks , yes I do care about RAM since it will be like shared host offers but even more easier , the server will be for single user so no multiple account/security staff , he properly will need to single FTP account to (I don't know if SFTP suitable to this since promising issue )

    Farish said: Sounds like docker

    I want make it even easier docker have huge number of images and each one need configuration to run with the others , even docker are revolutionary idea but my idea is to make it more easier + docker system requirement not suitable for ( LowEnd servers )

  • @inklight said:
    SFTP suitable to this since promising issue

    TBH i am not really sure what you mean but at least for OpenSSH you can define a user to be restricted to sftp without any shell access at all.

  • deankdeank Member, Troll

    WSS does seem to have a point here.

  • @inklight said:
    I'm using VPS servers since 3 years now even I'm not Linux expert but I was able to manage all my servers very well without installing any Panel at all ,
    As you all knows all the steps we use are repeated with every new installed node , e.g installing and download Nginx-php-MySql-wordpress and so on ,
    And let be more honest most of people don't know what shell is and never heard about Linux or install anything using command line (and edit it configuration vim) ಠ益ಠ
    manging an VPS is very difficult task to every one even expert doing typo and get bored from doing every task manually via command line .
    in short I want reduce stupid tasks we do in command line to few steps done via graphic interface control this wild horse ( Linux )
    The purpose is making site ready from an fresh installed minimized version of Linux (Debian or Centos ) without all this crappy control panels even installed .
    My target hardware will NAT VPS with ( 128MB or maybe 64MB or RAM ) .
    I don't know that much about Linux destitutions security but I notice CentOS 6.9 32bit have the lowest RAM footprint with 2.5MB only . others are not perfectly suitable for this kind of low end servers .
    I already save text file (as usual ) contains all commands I type to update destitutions and install/compile latest version of imported softwares like openssh that not available via destitutions owners .

    I thought of the same thing a few years ago, until I found a project on Digital Ocean linking to runcloud (see link in signature, yes aff link but includes extra days with their service). They pretty much do what you are asking for, try out the trial. I did the trial as a joke, doubting I would ever pay and here I am.. a paying customer.

  • raindog308raindog308 Administrator, Veteran

    Farish said: Isn't this what shared hosting is for?

    Yes.

  • raindog308raindog308 Administrator, Veteran
    Thanked by 1teppeikun
  • inklightinklight Member
    edited December 2017

    cheapwebdev said: I did the trial as a joke, doubting I would ever pay and here I am.. a paying customer.

    What I'm thinking on are similar but running it as desktop app are little bit risky I already put on mind making the operation don via the cloud while the desktop app doing monitoring check if their is any problem happened (like sever gone offline or even some servers stopped php/nginx etc ) , I will start for now focusing on basics for web service I may add other features lather like some games servers etc

  • inklight said: in short I want reduce stupid tasks we do in command line to few steps done via graphic interface

    Have you looked at serverpilot and runcloud?

  • inklightinklight Member
    edited December 2017

    scorcher9 said: Have you looked at serverpilot and runcloud?

    Serverpilot doing great job , but looks like it doesn't have system monitor feature so the user will needs to go back to DO Panel again (e.g if some of servers down that will confuse the user they will not know whats going on )
    and more important don't have themes installation ready , this my looks unimportant steps but I want to reduce installation steps as much as possible , make it more looks like Blooger installation but on desktop and with VPS server .

    Farish said: The common user is going go for shared hosting.

    I know it experts on different IT fields don't know what Shared host means ,
    for Sqlite I use it in my wordpress site since two years now and I haven't had any issue with it and the site runs faster then with MySQL + MySQL consumes a lot of RAMS and process power ,
    Last your discussing opened my mind on different ideas I may use it as all in one solution (similar to what docker/Azure stand for ) but I'll use my own server and users can select their images ( like in DO ) and add solution they want to use ,
    BTW the app will continues CDN simple setup to link it to worpress site automatically , alot of my friend getting hard time to setup their own cdn and mostly the use third part company ending up with huge bill .

  • @deank said:

    WSS does seem to have a point here.

    @deank does seem to have a point here too.

  • @inklight said:

    mksh said: What kind of minimized are you talking about

    The minimize that runs PHP-7/PHP5.6 and wordpress , I'm thinking get ride off MySQL and use Sqlite embedded with wordpress

    If you don't need sql, go for leveldb (c++) or any lsm-based storage engines out there.

    I've been running apps with nginx + leveldb on a 512mb ram vps and still have plenty of memory to spare.

  • inklightinklight Member
    edited December 2017

    dyu said: If you don't need sql, go for leveldb (c++) or any lsm-based storage engines out there.

    I've been running apps with nginx + leveldb on a 512mb ram vps and still have plenty of memory to spare.

    I dont't think that Wordpress will be able to deal with any none-sql DB .

    for desktop app I'll use Sqlite since SQL queries and it classed are already writed by me learing new DB system will take some time . specially leveldb didn't give that gain in performance or memory usage

    LevelDB also excels at batch writes, but is slower than SQLite when dealing with large values [.]

  • jlayjlay Member
    edited December 2017

    A great way to go about this would be to learn Ansible or any other form of configuration management. No added layers of security to worry about, no real code needs to be written (or maintained), and it's targeted more towards your goal (setting up servers a specific way in a repeatable fashion) without really having to do it yourself.

    Just run one command using a playbook (or a series of playbooks) that define what you want things to look like on a series of hosts/servers (your inventory), and your environment can be setup/configured. Once you have playbooks to accomplish things created, they can be re-used. If you want to make this extremely user friendly, a UI could fill some kind of purpose - like creating playbooks and executing them or something else.

    Edit:
    After a certain point I feel like people need to be a certain level of comfortable with systems before they can reasonably consider administrating them. I feel like learning Ansible and basic Linux shell usage is a reasonable expectation for managing a Linux server - panels and applications simply cost too much (literally and figuratively) to be feasible. Spinning up a turnkey application is well and good, but that thing will show its age before too long - hence configuration management.

    Edit 2:
    Panels for applications are generally fine - Wordpress people can manage Wordpress securely for the most part. There's a limited scope and definition for what can and needs to be done, and they assume the system underneath them is being maintained. Panels to manage the entire system and application however are a different animal. There are a lot of assumptions that need to be made and a lot of questions that are tough to answer. How does a user know they need Apache vs. nginx, because of that, what considerations need to be taken (mod_php or PHP-FPM)? How do things get kept up to date? If one specific thing you use gets updated with configuration-breaking changes (eg: Apache or nginx), does your entire application need updated to accommodate? When your application does update, can it sanely apply its own updates to the configuration files previously maintained by an older version? How does it do that - does it nuke everything and rebuild, or is it idempotent?

  • FarishFarish Member
    edited December 2017

    I actually think this is going to lead to other issues and support nightmares since wordpress doesn't support sqlite. Just because you had an experience were this is working for you doesn't mean it is going to work out on a larger level which is how software nightmares happen. Not to include the fact that sqlite doesn't support concurrency. There is a reason why software requirements exist.

    Interesting read below.

    https://darryldias.me/12/my-experience-with-wordpress-sqlite/

  • inklight said: The purpose is making site ready from an fresh installed minimized version of Linux (Debian or Centos ) without all this crappy control panels even installed . My target hardware will NAT VPS with ( 128MB or maybe 64MB or RAM )

    Some folks are missing the point though, optimal memory usage isn't always necessary the lowest amount of memory usage but rather the 'right' amount of memory required by applications/services and processes to perform a specific task.

  • As long as it can download more RAMs to my VPS, I'll invest.

  • jlay said: does your entire application need updated to accommodate? When your application does update, can it sanely apply its own updates to the configuration files previously maintained by an older version? How does it do that - does it nuke everything and rebuild, or is it idempotent?

    The app will have config file and check method to make sure nothing will breakout , all solutions you guys mention are great but I'm not ready to develop my own (Big server) and sell it to my client (I have tons of ready to use solutions includes MS/containers/Nano server )
    The best solution I put in mind is Serverpilot like with extra features ,

    Farish said: it is going to work out on a larger level which is how software nightmares happen. Not to include the fact that Sqlite doesn't support concurrency. There is a reason why software requirements exist.
    Interesting read below.

    I know about Sqlite writes speed issue but It's not like what mentioned on the article ,
    that guy have different problem not related to Sqlite directly but to Wordpress that didn't have ( autoclean/uninstall easy method ) .
    Any way I will not make Sqlite as default option , even I never had a single problem with it I'll keep Mysql/MariDB as default installation option ,
    The goal of this App is make the ( cheap/lowednd VPS ) available to average user , After I finish it I will look for company sells NAT/LowEnd VPS to cooperate with .
    BTW Just to inform you that app will not be free at least it full features , I may include this one as package of services (for Web Masters) I'll offer lather it will include alot of feature like single click backup/restore Security / integration with Cloudflare , Even I'll add domains buying from NameCheap etc ,

  • @inklight said:

    jlay said: does your entire application need updated to accommodate? When your application does update, can it sanely apply its own updates to the configuration files previously maintained by an older version? How does it do that - does it nuke everything and rebuild, or is it idempotent?

    The app will have config file and check method to make sure nothing will breakout , all solutions you guys mention are great but I'm not ready to develop my own (Big server) and sell it to my client (I have tons of ready to use solutions includes MS/containers/Nano server )
    The best solution I put in mind is Serverpilot like with extra features ,

    Farish said: it is going to work out on a larger level which is how software nightmares happen. Not to include the fact that Sqlite doesn't support concurrency. There is a reason why software requirements exist.
    Interesting read below.

    I know about Sqlite writes speed issue but It's not like what mentioned on the article ,
    that guy have different problem not related to Sqlite directly but to Wordpress that didn't have ( autoclean/uninstall easy method ) .
    Any way I will not make Sqlite as default option , even I never had a single problem with it I'll keep Mysql/MariDB as default installation option ,
    The goal of this App is make the ( cheap/lowednd VPS ) available to average user , After I finish it I will look for company sells NAT/LowEnd VPS to cooperate with .
    BTW Just to inform you that app will not be free at least it full features , I may include this one as package of services (for Web Masters) I'll offer lather it will include alot of feature like single click backup/restore Security / integration with Cloudflare , Even I'll add domains buying from NameCheap etc ,

    I am never assumed it was going to be free, but when you do something like this were you go against their own requirements you end up with a potential liability.

    When the customer has issues and somebody points out well Wordpress isn't made for sqlite how do you think the response and reviews will be for you?

    Also he mentions scale which is the point I am trying to get across to you. He site isn't that large but as he mentions.

    I spent some good time doing research on troubleshooting this problem and it turned out that the SQLite setup is great for websites that have smaller viewership and those that don’t update very frequently.

    This website has over 172 posts which no longer made it small and continues to grow.

    The reason I was using SQLite was that MySQL would be too heavy on a single core 512 MB VPS and I did not expect to have a large amount of audience.

  • Farish said: When the customer has issues and somebody points out well Wordpress isn't made for sqlite how do you think the response and reviews will be for you?

    I agree Sqlite with wordpress will not pass the full test (to conciser it industrial stranded ) I'll expect issue with Sqlite when users install other Plugins that I never test before , Most of webmasters I talk with Love wordpress specially for it Plugin system and tons of plugins avaliable to their needs , anyway I guess present of MySQL will increase minimal meomory required for installation to 256MB which it prices still acceptable (Specially the users ca install unlimited number of Domains/DB) 10 times cheaper then Shared host .

    Also he mentions scale which is the point I am trying to get across to you. He site isn't that large but as he mentions.

    >

    I test Sqlite under very heavy load and it works fine even then MySQL , it issue with writing posts (if you have very active forum , or post article ( every 15 sec ) ) that it .
    WP control plane works very well and post send are fast as if I had MySQL installed . BTW my site have 1500 visitors/day and I have ~300 post and alot of Plugins installed (more then what Darryl have ) it's very known Sqlite can do reading alot faster then MySQL since t embedded with PHP no socket connection will open and closed frequently , and I guess the db file get cached by Linux file system to the memory (correct me if i'm wrong ) as the system will notice that file used very often by php .

  • I don't think we need any more panels. I get that running a lot of basic commands gets boring though. I usually just use a bash script to get that out of the way.

Sign In or Register to comment.