The deployment scenario for PHP looks a little different than for other languages like Go or Ruby that have embedded webservers. The classic stack of Nginx + php-fpm doesn’t perfectly fit in the container world. Some solution providers, like DigitalOcean or certain Azure products, only allow for single containers to be deployed. In this talk, we’ll explore ways other people have solved this, like FrankenPHP, supervisord and wrapping all in bash scripts. I’ll talk about the benefits and downsides of these solutions, compare them with the choice we made for our last project, s6-overlay, show off the s6-cli project I developed for this purpose and talk about recipes for running database migrations, cronjobs and a few more.