Moved the Authgnosis automation jobs into Docker (Phase 1)

The scheduled automations that quietly run the business – the weekly SEO monitor, monthly site-health check, daily analytics email, and the federal-grant monitor and subscription poller – now run inside a reproducible, isolated Docker container instead of directly on the Mac. Same schedules, same reports, but a far more portable, consistent, and secure foundation – […]

In this series

On this page

Free Revenue Lifecycle Assessment

Connect with Marissa Wright to receive a free Revenue Lifecycle Assessment Report on your own business.

Book a consult →

The scheduled automations that quietly run the business – the weekly SEO monitor, monthly site-health check, daily analytics email, and the federal-grant monitor and subscription poller – now run inside a reproducible, isolated Docker container instead of directly on the Mac. Same schedules, same reports, but a far more portable, consistent, and secure foundation – and the whole cutover was designed to be reversed instantly if anything misbehaved.

  • Packaged all five scheduled automation jobs into a single reproducible container image with a pinned Python version and locked dependencies, so they run identically anywhere and no longer depend on whatever happens to be installed on the machine. The Mac's own scheduler still triggers them on the same cadence – only where the code runs changed.
  • Built for reversibility first: nothing was deleted. The original setup was left in place, dormant, as a one-command rollback, and each job was validated end-to-end and switched over one at a time rather than all at once.
  • Strengthened security in the process – credentials stay encrypted in the Mac's Keychain and are handed to the container only at the moment a job runs, never written to disk in plain text; the sensitive credential files were locked down to owner-only; and a tempting shortcut that would have weakened that protection was deliberately avoided.
  • Ran every job against real data inside the container before committing to the switch. That discipline surfaced and fixed several issues that would otherwise have failed silently weeks later – a secret the container wasn't yet handing over, and a couple of scripts that lived in an unexpected place.