I would change things. Maybe looking at deployer can give you a better idea.
Usually what is done is that you don't remove the current folder. You just create a new one and change symlink from the current to the new one. Then if you notice that something is wrong, you can quickly revert back to the previous one if you notice any issues by changing symlink.
Also, I don't see that you've covered things like storage folder and others. If you are using files for caching things you might delete them, or even worse, uploads.
I've noticed that your home folder is named forge. What exactly are you trying to achieve?
Do you really need zero downtime? I was looking into it years back, but now I don't think I need it at all. I just put the site down if the site is with a higher amount of visitors at that point. If I have a website that has a bunch of users, and I can't afford the downtime, at that point I set up that website in Envoyer and live a happy carefree life because saving time is more valuable than $10 per month.