Deployment of PHP or WordPress App on Easy Engine V4

What deployment strategies do you have for deploying app or theme code to Easy Engine v4.? We often work with Deployer for our PHP apps. And it works well. But for Docker it tends to be tougher as you work with code inside of containers on a server.

We do however prefer deployer or some kind of deployment with Git over Docker images as we tend to only need to update some files or a theme. Git with hooks or Deployer works really great for this.

Anyways, would love to hear how any of you do with with an Easy Engine PHP or WordPress app setup.

It’s hard to proxy non EEv4 apps and keep the settings persist, I would try creating your apps in a new docker-compose file, copy some keys/values from another EEv4 docker-compose file (network, virtual_host, etc), and read up on jwilder’s environment variables.

You can install anything into a container, I even compiled Eternal Terminal into an image. For my WordPress sites, almost all of them have themes/plugins that have been downloaded via git clone. They are all updated at midnight by cron via git pull using auth tokens as passwords since the WP containers don’t have openSSH installed.

Also WP specific rules have been added into NGINX so .git directories and its files aren’t accessible to the outside world.

1 Like

Yeah git clone I did use in the past, but still found Deployer to be way better. And based on https://github.com/deployphp/deployer/issues/1770 I do know I can implement this, but I am still hoping for a more permanent Deployer recipe to be used by all and I know Anton has been working on this.

Deployer is just an amazing tool to deploy, reverse and or restore releases. You only tend to have issues as you need to reload PHP FPM (in the case of Laravel . You also need to enter the container to start using PHP commands like php artisan config:clear

Easy Engine I love as setting up WordPress or PHP sites is relatively easy. I set up https://wooaid.com/ (basic installation) in no time at all. I however also want to deploy with that same ease. So either with Git hooks like Laravel Forge uses or with a tool like Deployer. Until I get one of these setups I will stick to non container setups.

By the by, one tutorial https://easyengine.io/tutorials/composer-wordpress/manage-themes-plugins/ did mention the use of composer to update themes and plugins with composer packages or git repos. Similar to how Roots Sage does do it. That is an option though again I would still prefer releases with Deployer as I find that best. Especially for Laravel applications. But I may try this setup for my WordPress websites.