Browse category The Workshop

The Workshop: Docker Swarm

by · June 10, 2021


Docker Swarm is a mode in which Docker deploys container services across a cluster. Spreading a service across multiple swarm nodes (systems running Docker joined to the same swarm cluster) allows us to perform load balancing and rolling updates to our application. We also can easily horizontally scale by adding more nodes and scaling services […]


The Workshop: New OS, Old PHP

by · May 12, 2021


We continue our containerization journey from last month where we covered how to refactor an application that created PDF files to use S3 to store the documents instead of relying on the local server’s storage. Another challenge often found is when an application uses outdated PHP and runs on an unsupported/outdated operating system version. What […]


The Workshop: Refactoring to an Object Store

by · April 9, 2021


Welcome to the third installment of our containerization journey. Last month we covered running our application locally in Docker containers replacing our pre-existing development virtual machine. We used Laravel Sail to scaffold our development environment with Docker Compose. This month we’re going to look at a real-world application running on a traditional Linux Virtual Private […]


The Workshop: Using Sail to Understand Local Development with Docker

by · March 8, 2021


Welcome to the second installment of our containerization journey ast month. We covered container basics, Docker installation, and running command line PHP images. This month we’re focused on building our local development environment with Docker coming from an existing Vagrant virtual machine configuration. We’re not jumping directly into overly complicated build targets and multistage builds […]


The Workshop: Just Use Docker

by · February 8, 2021


If you’ve been putting off learning how to use Docker in your PHP projects, here is your chance: we’re going to start from scratch, and we’re going to cover a lot of ground to take a PHP application from running locally to running in containers, then a cluster, and ultimately in Kubernetes. Let’s get settled […]


The Workshop: S3 Storage with MinIO

by · January 8, 2021


This month, we’re diving into running our own S3 compatible open-source server via the open-source project MinIO. We’ll configure MinIO alongside our local development environment to quickly replicate our application’s integration with S3 object storage without operating on “production” storage buckets or having to set up “dev” buckets.


The Workshop: Git Hooks with CaptainHook

by · December 3, 2020


Git Hooks are executable server-side or client-side scripts that run when specific Git events happen, such as creating commits or checking out branches. Server-side hooks are useful for Git administrators to enforce specific policies and can run before or after pushes to the server. We’re going to focus on client-side Git Hooks, and how we […]


The Workshop: GUI Applications in WSL with X Server

by · November 11, 2020


We’ve spent the past few months discussing and demonstrating how to use WSL in your PHP development workflow as a better alternative to Virtual Machines by running native Linux on Windows 10. This month we’re going to dive into an unsupported (by Microsoft) territory and cover how to and why we may run GUI applications […]


The Workshop: PHP Development with Homestead in WSL

by · October 5, 2020


We’ve spent the past two months talking about Windows Subsystem for Linux (WSL) in Windows 10 and how to customize it to serve as a PHP development environment. While functional, our environment lacked a fair bit of polish. In the nearly four years that I’ve been working on and maintaining Laravel Homestead, I’ve spent much […]


The Workshop: Mail, Ngrok, and Xdebug in WSL

by · September 1, 2020


Last month we covered Windows Subsystem for Linux and this month we’re continuing the journey by demonstrating how to further work with our WSL distribution using tools such as Mailhog, Xdebug with PhpStorm and Visual Studio Code, and ngrok.