Docker & Linux
Docker & Linux
Environments that are reproducible for teams — local parity with production-shaped stacks, CI that runs the same shapes, Ansible automation for hosts, and deploy paths that stay boring on purpose.
Why this sits next to Magento and Drupal
Agency delivery is not only application code. Magento, Drupal, Shopify and Laravel projects all need a Linux host story: PHP/Node runtimes, databases, search, cache, TLS, backups. I treat Docker Compose and Debian-class hosts as part of the same craft as the modules — so “works on my machine” is a shared, versioned layout, not folklore.
What I typically deliver
- Local Magento / Mage-OS (and sibling PHP) stacks with Traefik, Varnish, Redis, OpenSearch — parity with Cloud or VPS targets
- Ansible for host bootstrap, deploy users, fail2ban / UFW patterns, and repeatable ops (not one-off SSH archaeology)
- CI jobs that reuse container shapes instead of inventing a second toolchain on the runner
- Sane deploy paths: compose parents, bind mounts vs volumes called out explicitly, no surprise production edits
Ops as backend discipline
This is the layer I learned as a backend developer and sysadmin so e-commerce and CMS projects stay shippable: clear boundaries between app git and host tooling, documented runbooks, and environments the next engineer can recreate.