I recently made an on-premises version of
https://reviewable.io. I'd like to second most everything said in the article: use a flag, remove SaaS dependencies where possible, otherwise convert to use standardized services (SMTP) or apps that they can deploy internally as well (Sentry). It took me rather longer than a week but the ROI was still excellent.
One difference is that I decided to stick with a raw Docker container rather than going with Replicated (who are really nice people, don't get me wrong). In my case, everything runs on a single horizontally-scaled server so it's pretty easy to get running "manually". Also, all the potential customers I asked said that they were comfortable managing their own Docker environment, and some would actually prefer to get Docker images since they'd be easier for them to manage than "virtual appliance" VMs.
Another difference was that I use Firebase for the app's datastore and Google doesn't (and likely never will) offer an on-premises version. This was a show-stopper for nearly all customers, but it turned out that offering at-rest encryption of sensitive data with a key that never leaves their premises was sufficient to get through many of the security reviews. This obviously won't be acceptable to everyone but it can be useful to know that even if you have a fundamental dependency on an external third-party service there may be a way to keep using it in your "on-premises" product.