The easiest way to use Docker for WordPress Development

Note: I will write a more detailed guide on Docker and WordPress in the near future. For now, I just wanted to quickly share how I use Docker as my development environment while working on WP Pusher.

Docker Compose

Docker Compose is a great tool for building and managing Docker containers. Here’s the Docker Compose configuration file I use to create a complete development environment for WP Pusher:

Here’s what’s going on in the file:

  1. I’m creating 2 services (Docker containers)
  2. One service is a MySQL database container
  3. The other service is the official WordPress container with Apache and PHP 5.6
  4. The WordPress container is forwarding port 80 to my local port 80, so I can access it directly in the browser without adding a port number
  5. The MySQL container is not port forwarding, but can easily forward to my local port 3306, so I can access the DB with SequelPro
  6. The database data is stored in a volume created by Docker on my local machine called wp_pusher_db_data
  7. The current working directory (the WP Pusher repository) is mounted in the plugins directory in the WordPress container

And that’s basically it. This will allow me to work on the WP Pusher plugin in a fully working WordPress environment, without installing WordPress, PHP or MySQL on my own machine.

As I said, I’ll write more about this very soon. Let me know if it’s something you’re interested in!

The New WP Pusher Dashboard

Announcing the new WP Pusher dashboard

Over the last few months, I have slowly rolled out the new WP Pusher dashboard. First for new-coming customers and recently existing customers were migrated too. It’s been a gradual process moving away from the old systems powering WP Pusher and it has been going smooth so far.

The main dashboard page.

What’s inside?

The WP Pusher dashboard have 3 main areas:

  1. The main dashboard is where you’ll see a list of all the sites your WP Pusher license is activated on and where you can always download the latest version of the plugin.
  2. The billing area is where you can find and download your WP Pusher invoices. This is also where you can manage your subscription (upgrading it 🎉 or canceling it 😢), add a new credit card or add additional billing info to your invoices.
  3. The account area is where you can update your WP Pusher account information and change your password. (very exciting, I know!)

If you have any questions about the new dashboard, don’t hesitate sending me an email!

Why the move?

When I originally started WP Pusher, my philosophy was to buy instead of building. Instead of re-inventing the wheel, I’d prefer to buy solutions to power the business instead of building them myself. The 3 main parts of running a WordPress plugin business are a checkout system, a licensing system and an update system. You need a way to get paid, you need a way to limit paid functionality to only paying customers and you need a way to send out new updates to your customers. If you’ve been following WP Pusher for a while, you know that I have experienced a few bumps along the way. In an ideal world you would spend the majority of your time working on the core product – the plugin. In reality, a huge amount of time is spent dealing with these systems around the business. Services you rely on are being acquired and shut down without warning. Minor product updates will break your site without warning. A lot of things can happen without warning. As a business owner, it’s my single responsibility to ensure that these things doesn’t happen. No matter if I buy or sell. That’s why I’ve slowly realised that while the ecosystem revolving WordPress businesses is at its current maturity level, I have to own the whole process. I know that many of my “collegues” in the WordPress plugin business world have come to the same conclusion.

I believe that this move will benefit my customers because it will mean a better product and a better experience. Otherwise, I wouldn’t do it.

So that’s one side of the coin. Building myself has another great benefit. By owning the whole process, from checkout to plugin updates, I can add features that would be really difficult to offer beforehand. The process for shipping updates to WP Pusher customers is also much smoother now, which makes my response time to answer bug reports and feature requests much faster. I believe that this move will benefit my customers because it will mean a better product and a better experience. Otherwise, I wouldn’t do it.

How to get access?

If you are a new customer, when you purchase a WP Pusher license a password will be emailed to you. If you are an existing customer, you can use the “Reset password” feature, together with the email address you used when you originally purchased your WP Pusher license, to get access.

The new dashboard can only communicate with newer versions of WP Pusher. This means that you should make sure all your sites are running on a recent version of WP Pusher, at least v2.3.0. The old backend systems will still be running for a while, but will be deprecated eventually.

NB. If you have multiple WP Pusher licenses for the same email address, you might in some cases experience issues with accessing the new dashboard. If you do, please reach out to me.

Go to the dashboard now

If you have any questions, whatsoever, don’t hesitate sending me an email.

Run WordPress in the Cloud With Laravel Forge

The other day I wrote a guest post over on the WP Tavern about using Laravel Forge to run WordPress in the cloud.

Laravel Forge now offers 1-click installs of WordPress on any cloud server. In the post I go through how to create a new server, provision it in a secure way, setting up a MySQL database, installing WordPress and installing a free SSL certificate. All made super easy by Forge.

Using Forge with WP Pusher

Forge and WP Pusher plays very well together. Use Forge to set up the server and install WordPress. Then use WP Pusher to install you plugins and themes from GitHub or Bitbucket. Forge will take care of keeping the server up to date with security releases and new SSL certificates, WordPress will take care of updating itself and WP Pusher will take care of updating plugins and themes when you commit and push a change.

If you have any questions about Forge, WordPress, Git or WP Pusher, don’t hesitate asking it here or send me an email.

Read the full article here.

A Primer on Source Control

Source code control is nothing new to software development. It’s been around for decades. But for those of us who work in the open source community, specifically those who are working with WordPress, we may not have the experience that some of our peers have.

After all, many of the people who work on or work with WordPress are people who are seasoned software developers or who have been working on software for a long time.

A Primer on Source Control: A plugin's repository.

The online Subversion repository for a simple WordPress plugin.

And to be clear, this doesn’t mean they learned source control within the context of open source development – maybe they did, maybe they didn’t. In short, they’ve had time to learn the advantages of workflows for and reasons why source control is so important.

Ultimately, the point I’m trying to make is this:

If you’re new to WordPress, and you’ve heard about source control, Subversion, Git, or GitHub or even used it to some degree (even if you aren’t entirely sure what you’re doing), that’s okay! Everyone starts at the beginning.

The purpose of this primer is to help explain some of the benefits of source control, why we use it, and how it plays a role in our day-to-day activities especially when we’re working with others.

The Power of the Niche

If there is one thing I do not understand, it is why you would run a WordPress agency without operating in a niche. If you are running a business selling WordPress based websites, you literally run the most common online based business in the world. Why would someone choose you? How would they even know that you exist?

Today I want to talk about that. Niches. Last week we talked about leveling up and productizing your services and this is very much related. Side note: I originally thought this blog had to be about Git and GitHub, but I guess there are really no rules. Whatever is relevant to people running a WordPress based service business is relevant here. Back to niches. I’m obsessed with them. They are so powerful and if you haven’t realised it, I want to convince you. So please continue reading, okay?

How To Level Up Your WordPress Business And Escape The Rat Race

The headline of this post sounds like true click bait. I know! It really isn’t, though, because leveling up your business is exactly what I’m talking about. So bear with me. I want to try something different. Instead of talking about Git, I want to talk about business. I love business. I love talking about businesses and I love running a business. So today we are going to talk about – business! If it works, I will keep doing it once in a while, and if not… Well, let’s hope it works! Let me know what you think in the comments or by sending me an email.