I am assuming anyone who is going to self-host will be able to use Docker. Perhaps will need to look up some documentation. But maybe I am missing something, why would it not be good way to distribute SaaS app?
Your suggestion makes sense, and docker images + docker compose config maybe simplest way to provide self-hosted option for web app that is already exist as cloud service. We used this approach to enable self-hosted option for our BI tool (SeekTable), and it works perfect for us.