Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

vincej's avatar
Level 15

Recommendations for Server Management Please

I have recently learned the hard way how complex and laborious it is to deploy multiple servers yourself ensuring that they are all the same as your dev environment. With all the moving parts, errors in infrastructure abound, and debugging those errors is a nightmare.

So - in a perfect world I would have a one click deployment where I have stipulated the version of all the parts. I tried a one click solutions from DigitalOcean where I am hosted, and you end up with something that is 2 years out of date, and nothing works the way you want it.

I have also looked at Forge, Ploi, Cloudways and they are all very nice, but they are not a complete solution. You still have to manually add Laravel, any dependencies, any added tools like mix etc and of course, your own app. Also, you can not stipulate the versions you want. Here again with DigitalOcean you end up with Composer 1.

I might be asking for the moon but I thought I would ask the LC community.

Thanks !

0 likes
68 replies
Snapey's avatar

have you looked at the obvious choice, forge ?

vincej's avatar
Level 15

@Snapey Yup, Like I said in my question, I looked at Forge. Like the others it does not cover all the moving parts:

Linux, Apache, PHP, MySQL, Composer, Node, Npm, UFW, Laravel, Laravel dependencies, Application, JQuery, Bootstrap, Vue / LiveWire / React / Svelte

vincej's avatar
Level 15

@Snapey I just did 2 servers with 2 more dev servers to go. it gives me a nervous break down

Snapey's avatar
Snapey
Best Answer
Level 122

@vincej if you have backups turned on, you can restore a backup to a new droplet and have an identical server apart from the server name and IP

Snapey's avatar

why do you have dev servers in the cloud?

vincej's avatar
Level 15

@Snapey No - the 2 dev servers are my office server (Linux) , and my laptop (Windows). I do dev on both and as luck would have it they configured differently like PHP 8 on one and 7.4 on the other - Ugh.

Good idea about creating a new server from an exiting droplet. Had not thought of that. Of course, I would have to rip out all the application and do a new Laravel deployment then add the application. But that route would at least save me 75% of the effort. Thanks.

undeportedmexican's avatar

I'm no docker expert, as learning docker is still in my learning-pipeline. But it feels like docker fixes the problem you have specifically?

1 like
vincej's avatar
Level 15

@undeportedmexican It could very well be. I am concerned that the learning curve could be steep. I don't know. Thanks !

Sinnbeck's avatar

@vincej if you need it 100% the same as dev, then docker is the way to go

5 likes
Sinnbeck's avatar

I use ploi and am a very happy customer. First server is free, so you can test it out. It handles both server management, deployment and backup

They of course work with digital ocean, but I use hetzner instead

vincej's avatar
Level 15

@Sinnbeck Please elaborate. Everyone delivers an OS with a webserver, PHP and MySQL. What I am looking for is a one click solution of the whole required infrastructure including most of the pieces I mention above. OK - I can install Laravel and my application. Question: How close does Ploi get you ?

Sinnbeck's avatar

@vincej ploi is like forge. It does not give you any server. You need digital ocean or similar for that. It just creates a server with database etc in a few clicks

vincej's avatar
Level 15

@Sinnbeck Understood. I have been using DigitalOcean, and Installing a DB and webserver is not really an overhead. Where things get crazy is when you start deploying all the rest of the infrastructure across several machines and they all need to be the same ie:

Apache, PHP Composer, Node, Npm, UFW, Laravel, Laravel dependencies, My Application, JQuery, Bootstrap, Vue / LiveWire / React / Svelte etc etc

Sinnbeck's avatar

@vincej apache is a webserver? Ploi uses nginx btw.

But the rest. Do you mean that the same app needs to be deployed on several servers? Or do you want to install laravel etc directly on the server instead of git?

vincej's avatar
Level 15

@Sinnbeck The application could be different or the same. Deploying my applications is not my challenge. I just upload them with Filezilla. My challenge comes when I discover that I discover I have accidently uploaded different versions of PHP, or Node or NPM or Apache, or MySql or anything. I then go to deploy the application which works on my dev system, (of which I have a linux and a windows system) and then it does not work on the remote server. Now I have a headache figuring out where the failure is. I ideally want one single definition of the infrastructure which I can deploy quickly, and not by hand, manually configuring every piece.

Sinnbeck's avatar

@vincej I suggest you learn git. Makes you more in control of what you deploy. And after pushing to github you just click the deploy button in the ploi interface

Regarding server setup. With ploi you select server type and db version on install. You can switch php versions in just a few clicks in the interface. There are also buttons to run all your artisan commands. It will inform you if npm is outdated and offer to update it for you

Have a look at how to create a server https://youtu.be/bL4kAlk5i80

vincej's avatar
Level 15

@Sinnbeck I am going to try the one free Ploi server on your recommendation, for sure. I have nothing to loose.

I have looked at Git, however, Because I am a solo guy, I never saw real benefit to Git, especially when PHPStorm gives you version control control out of the box. However, please elaborate, will git allow me to to create a complete definition of my entire infrastructure stack? I had always believed it was limited to deploying an application and that was it. Correct? Thanks !!

Sinnbeck's avatar

@vincej yeah it just tracks your files. I am a solo dev as well but all my code is in git. It makes it really simple to know exactly what I am working on. Let's say you are building a new feature. Now the client asks you to fix a bug in the same file? With git, the new feature would be in a different branch, making it easy to just go back to the main branch and fix the problem. You can also go back to how your code looked 3 weeks ago, if you need to check if the error was there as well

Also it only "uploads" the actual changed files.

Oh and your code is always backed up on github

vincej's avatar
Level 15

@Sinnbeck You have 100% perfect English. I am impressed. Usually I can tell when some uses English as a second language, not by spelling mistakes, but by the word order they use. Like putting the verb at the end. I speak Dutch and German. They do that in those languages too, as I am sure you know. My great grand father came from Denmark, just near the German border / Flensburg. But I lived most of my life in UK.

Sinnbeck's avatar

@vincej Thanks! I appreciate that. I do my best to try and speak a proper English. Luckily in Scandinavia, we often learn English early, meaning it often ends up as almost a second-first language. Also I used to play loads of role-playing games when I was younger, and those were all in English :)

Ich spreche ein bisschen Deutsch auch

vincej's avatar
Level 15

@Sinnbeck Wunderbar ! Prima!

Is Ploi a Dutch company? Looking at their very aggressive pricing vs Cloudways, I do not see how they can make any money when they are deploying on top of Digital Ocean / Linode etc.

Sinnbeck's avatar

@vincej I am not quite sure. I am not affiliated with them in any way. I just recommend them as I like their product, and it makes my daily job, so much easier. I know it was developed by this guy, but where he lives, I don't know: https://dennissmink.com/

Edit: It seems you are right. According to twitter he lives in Gelderland

In regards to git I found this small Fireship video that explains what it can do to you in under 2 minutes :) https://www.youtube.com/watch?v=hwP7WQkmECE

vincej's avatar
Level 15

@Sinnbeck I looked at the PLoi terms and conditions are those terms will be adjudicated by the Dutch courts, so to me that is a clear sign they come from Holland. Cloudways is double the price. Anyway, Midnight in Calgary. Time to call it a day. tschuss!

vincej's avatar
Level 15

@Sinnbeck Back again. Last question: what IDE do you use? I use PHPStorm.

Sinnbeck's avatar

@vincej same here :) it has awesome handling for merge conflicts with git

1 like
Sinnbeck's avatar

And Ubuntu with docker is my work environment

vincej's avatar
Level 15

@Sinnbeck Wow! I use Linux Mint, which is Ubuntu with a different UI. You use Docker - amazing. That's something else I should think about. I presume you use it to replicate the customer environments?

Sinnbeck's avatar

@vincej I actually run mint on my secondary pc, and I'm planning on switching my main to mint as well.

Docker comes from the fact that we had different php versions depending on which project. From 5.6 to 7.4. And one project that had alot of weird dependencies. Now it all runs 7.4, but I can easily run the same code in both php 7.4 and 8.0 when running tests (so 8.0 is soon)

DennisS's avatar

@vincej Hey Vince! 👋

Ploi is indeed a Dutch company 🇳🇱

Also, the reason our pricing (and this is the same with other server management tools except for Cloudways) is lower is that we do not 'provide' the server. With Cloudways you 'get' a server, and with us, you have to deliver your own server.

Let me know if you have any other questions!✅

vincej's avatar
Level 15

@Cannonball Groetjes uit Canada!

Nice to meet you, virtually. So, please help me understand how I "provide my own server". I don't get that part.

Sinnbeck's avatar

@vincej It uses a server provider like DO

As I said earlier

ploi is like forge. It does not give you any server. You need digital ocean or similar for that. It just creates a server with database etc in a few clicks

I personally use Hetzner for webservers and DigitalOcean for backup (spaces). Both are handled by Ploi

DennisS's avatar

@vincej Groetjes terug!

And yes, what @sinnbeck is saying is 100% correct. This also explains the pricing difference between us and Cloudflare.

vincej's avatar
Level 15

@DennisS Hi! Question, does ploi require the use of git? As a solo dev i use PHPStorm version control and I do not be use git. Thanks

automica's avatar

@vincej it’s more than likely you are using git as version control in php storm if you are using the built in VCS.

Being a solo dev is not a reason not to use git. One of the significant advantages of git is that you will be storing your code away from your computer. This gives you added protection in case of hardware failure or theft, Properly using a VCS allows you to work on code atomically, to keep track of your changes and to be able to develop multiple features at a time. As well as being able to easily deploy code, you are also able to share it should you ever work with anyone else. You’ll pick up the basics of git in a few hours and I’d recommend you do that as that is the number #1 improvement you can have to ease your deployment issues

vincej's avatar
Level 15

@automica Thanks for that. I have taken your advice and that of others and am in the process of learning it using an excellent tutorial from "NetNinja". Everything is working excellently inside Storm. One of the mysteries I am finding so far is that I had expected the changes I make using the PHPStorm Git module to be reflected in Github, but they are not (yet?). Perhaps I need to get through a few more lessons! Cheers

1 like
Sinnbeck's avatar

@vincej they will only be reflected when you actually push them there

You an check if it is linked to github with

git remote -v

And push it using

git push 
jlrdw's avatar

@vincej also I would hold off on pushing until you know your code is good, you don't want to push a mistake.

vincej's avatar
Level 15

Ok so I am with DO already so ploi simply front ends the server I have with the deployable components. Got it. Nice idea.

vincej's avatar
Level 15

@Snapey @sinnbeck Ok watched the long one. Great. But it looks like Ploi is dependant upon Git. As I am a solo PhpStorm user, I don't use Git, but perhaps I should learn, as one of my problems is I have two different dev platforms and keeping them in sych is a problem. I use my Big Ryzen 7 with 6 feet of screens & Linux during the day in my office, and my laptop at night. Why can't development be simple ? :o)

Snapey's avatar

@vincej If you use git and a remote repository such as bitbucket or github then your sync worries are massively reduced since you push and pull from the remote repository and can always sync your code up irrespective of where you write it. The main thing to remember is to commit your code and push it to the repository before going home, and vice versa

vincej's avatar
Level 15

@Snapey Do you use Bitbucket or Git? as a PhpStorm user it has git acess built in. What IDE do you use?

Snapey's avatar

@vincej Use either with phpstorm. Don't confuse Git with Github . Github is a cloud implementation of Git.

I use VScode, but actually I manage my repos and do commits with Github desktop application (for Bitbucket or Github - I use both)

vincej's avatar
Level 15

@Snapey VSCode I think has some built in features to enable access to Git. so why do you use the external web based approach?. I ask as the built in Storm features are very comprehensive and off putting.

Snapey's avatar

@vincej I just prefer the way github desktop presents the changes for review before commit

it's not 'external web based' it's an application that I run on windows or mac and tell it where my local repositories are.

https://desktop.github.com/

vincej's avatar
Level 15

@Snapey Ok, I downloaded the windows application. Don't know if it runs on Linux yet. I ask because some people prefer Bitbucket saying it is easier to use. I guess it is each to their own. When I learn it . I will only learn the basics. It is quite involved. You're up late !!

vincej's avatar
Level 15

So if you factor in the cost of the DO sever it comes out at around the same cost as cloudways for a single server. The benefit of ploi is you can deploy multiple servers for one fee

jlrdw's avatar

@vincej I use bitbucket and github. I promise you, you will want to get used of the command line only with git. It is easy once you get used of the common commands you need.

1 like
vincej's avatar
Level 15

@jlrdw my principal dev machine is linux, so I have to see which of these two runs of lInux. PHPStorm has built in features to use and view Git, but it looks seriously complicated. I can't really afford time wise to spending ages learning this. This was one of the bug reasons for not bothering until now. Time is my most valuable asset.

Sinnbeck's avatar

@vincej I was forced to learn it when I got my current job, and I am grateful I did. You can do alot by a few command, and phpstorm can help you a big part of the way. I mostly only use the command line to push/pull and trigger merge/rebase

vincej's avatar
Level 15

@Sinnbeck I started learning this evening with PHPStorm with a great tutorial, by a British guy under the name of NetNinja. A lot of the Git tutorials are really bad. This guy breaks it down to it's simplest parts. If I get the basics it will solve my problem of keeping my 2 dev systems in synch. I had another look at Poli. I didn't understand any of it. Probably because I don't yet understand Git.

Sinnbeck's avatar

@vincej glad to hear. It can be quite daunting at first. Hope you get started properly with it 👍

vincej's avatar
Level 15

@Sinnbeck Ok, so I think I have my head wrapped around Git on the command line. However, I have also been looking at PHPStorm's Git managment system. You use Storm as well. Somehow, I have managed to wreck my whole repo twice now using this. The docs on it are not very clear in my opinion. Do you know of any clear videos? I have found one from 2016. Also do you use this Storm feature ?? Or do you just use the command line? A bit of a shame, when Storm has this feature, no? Thanks.

vincej's avatar
Level 15

@Sinnbeck Sorry to harass you , but you are the only other PhpStorm user I know on LC. So, question: do you principally use Storm for Git or do you use the command line principally? ie should I really invest time in learning the Storm implimentation? Thanks!

Sinnbeck's avatar

@vincej I use phpstorm quite alot for git. It's merge features are brilliant! I suggest turning on version control modal. I like it a lot better than the new "inline" git editor.

I use phpstorm for adding files to git, rolling back files, merge conflicts and committing

I use the cli for push, pull, editing remotes and starting merges/rebases

git push
git pull
git merge my-new-feature
git rebase main

One awesome thing to note with phpstorm, is how you solve merges. There are buttons for auto solve what it can. And the ones it can't, you have arrows you can click to tell it which change to keep/remove

Quick video showing the manual merge stuff https://m.youtube.com/watch?v=QXDEi2ZMqBU

vincej's avatar
Level 15

@Sinnbeck Many thanks for that. One more question, do you use Git only for development or will you apply your master branch for production? This all makes me somewhat nervous! :o)

At this point in time, I have been using filezilla to upload my production files.

Sinnbeck's avatar

@vincej yeah 100%. Everything is in git and I use main (master) on production. I find it 100% more safe than ftp

1 like
mk001's avatar

Docker is certainly what you are looking for. I thought it was complicated, it isn't. About 10 copy and paste linux command lines, and docker is up and running. I will post when I have a chance to reach my computer, I am on mobile now.

I am forced to learn it when installing laravel 8 is too hard for me.

While there is many dockerfile available, the problem is to find a production ready one.

Please or to participate in this conversation.