Subscribe to a Premium Development Newsletter by TheDevCouple! What is TheDevTakeaway?

Folks! πŸ™Œ
I’m a big fan of EasyEngine β€” a script to self-host your WordPress sites on DigitalOcean, Linode, Vultr, and more.
πŸ€” Over a year ago, Rahul (who runs a WP VIP agency rtCampp) suggested that EasyEgine has not been getting the contribution support it should have received from the WordPress community β€” being an open source script, because it was written in Python.
πŸ‘Œ With an audacious goal of rewriting the entire framework in PHP and support it with WP CLI has actually now been achieved. Version 4, has just been released. Mad props to all the contributors for their effort.
πŸš€ I urge you all to take this open source server management software for a spin. It is now based on PHP + Docker and they even have made an effort to create a migration script from v3 to v4. Which shows the commitment to quality and supporting your community.
The least we can do is appreciate this effort and welcome the new changes, i.e. PHP based server (Slack does that), and Docker support (without overstating, for obvious reasons).
# Install EasyEngine on Linux
wget -qO ee rt.cx/ee4 && sudo bash ee

# Install EasyEngine on Mac
brew install https://rt.cx/easyengine

# Create a site at example.com with WordPress
sudo ee site create example.com --type=wp
Congrats, Rahul and the team behind this project. πŸŽ‰
Find more details in the Press Release below ↓

🀯 Major Differences v3 VS v4

We have a detailed document outlining v3 to v4 changes here along with the migration script. Alternatively, you can have a glance at the quick summary, below.

  • Virtual email hosting feature is completely removed.
  • The number of sites on a single server is limited to 25. Fortunately, WordPress Multisite is counted as one site towards the limit.
  • From four WordPress caching options, we have shifted to only one. Migration script automatically takes care of this unless you have customizations around cache.
  • Some commands are removed, either temporarily or permanently. Some are replaced & renamed. There are also new commands that have been added.
  • v4 is rewritten in PHP, using WP-CLI as a framework. Shouldn’t concern you, unless you have some local python-patches.
  • v4 uses Docker images for PHP, Nginx, MySQL, etc instead of traditional OS level packages. Again, you would be fine if you have never heard about Docker before.

πŸŽ‰ For All Users – New v4 Stuff

EasyEngine v4 adds many new features. It also has many internal changes in terms of code, architecture and focus area. Let me walk you through some of them, below.

🎯 Focus Shift – From Ops to DevOps

Until EasyEngine v3, our focus was to create a powerful hosting stack to make the system admin’s job easy. We are still committed to making hosting easy and I believe that we are advancing in that direction, at quite a steady pace.

After working in the WordPress ecosystem for 10 years, I can say that most of the scaling issues, that are hard to fix, are often caused by bad code. The issues related to bad server config are much easier to fix than an issue related to bad code quality.

From v4, our goal is to reduce the gap between the developer & system admin workflow.

We love Twelve Factor App guidelines and we hope to bring most of it to the WordPress ecosystem.

This is what we mean by a shift from Ops to DevOps!

🐳 Use of Docker

EasyEngine v4 uses docker to distribute and run the whole LEMP stack. So Nginx, Redis, MariaDB etc are not installed on the host. Only PHP is required on the host as v4 is developed in PHP itself.

As every site has its own PHP and Nginx container, there is some isolation and improved security, compared to the way in which sites ran in v3.

You don’t need prior docker knowledge to use EasyEngine. EasyEngine handles Docker, internally, to the point that you won’t need to run a single Docker command for your day-to-day EasyEngine usage.

With Docker, we now have the possibility to run EasyEngine on any platform where Docker & PHP are supported. This includes Windows OS also, which we are yet to test! πŸ˜‰

πŸ“¦ Extensible via Packages

As v4 uses wp-cli, you can extend EasyEngine using composer packages. In fact, the core commands are all packed into their own composer packages.

We have already published some developer documentation to help you develop custom command. We hope to add support to distribute your custom commands, in the coming months.

🍎 Mac Support

EasyEngine v4 works on Mac using brew. It’s as simple as running brew install easyengine.

Most of our developers at rtCamp prefer Mac. Now with the same EasyEngine, on Mac and on our servers, we will be able to maintain better dev/prod parity.

Updated Docs

Referring to WP-CLI, EasyEngine commands documentation is automatically generated and hosted at easyengine.io/commands.

Apart from this, we have created a handbook – easyengine.io/handbook that has additional information about the many aspects of v4, such as:

➑️ Install EasyEngine v4

Thanks for reading this far. It’s now time for some action! πŸš€

Installing EasyEngine on a fresh server, as easy as:

  • Linux: wget -qO ee https://rt.cx/ee4 && sudo bash ee
  • Mac: brew install easyengine

⚠️ Note: While we wait for this PR to merge in brew, please use following alternative:

brew install https://rt.cx/easyengine

You can read the detailed installation guide, for additional details.

In case, you are using v4 RC2 already, you can update to the stable release by running:

ee cli update

⛑️ Need Help?

We understand that this is a big release and that you may need some help with it. Please be mindful of the fact that things can go wrong in such major upgrades.

We recommend that you upgrade within the dev/staging environment first. Don’t forget to create backups! 🀞

Please visit the community page to understand how to get help.

πŸ™Œ Credits

A bunch of rtCampers worked tirelessly, day and night – over the last 10 months, to make this release possible. They were helped by more than a dozen colleagues, at different stages. Overall, EasyEngine v4 took more than 10,000 hours of work.

A big shout out and thanks to Mriyam, Riddhesh, Radhe, Kirtan, Sagar N, Rahul P, Utkarsh and the other rtCampers for this exciting release! πŸš€

EasyEngine Team celebrating v4 release πŸŽ‰

On behalf of the EasyEngine team, I thank you, our users, who have kept us going in the last two years! πŸ™

Links: v4 Install | Commands | Handbook β€’ v3 to v4 Guide | Migration Script

Peace! ✌️

πŸ™Œ

SUBSCRIBE TO DEVELOPERS TAKEAWAY!

A Premium Development Newsletter by TheDevCouple! What is TheDevTakeaway?

There are currently no comments.

πŸ™Œ You must have something to say here...