My notes from when I had this problem are a bit spotty, so there might be gaps in my information, but I think the solution I ended up using is pretty clear.
My first requirement was that I could test all of my work locally using Vagrant before pushing any work to Digital Ocean. Knowing that anything I did locally would then be pushed to Digital Ocean, I decided to start by ensuring that my basic starting provisioning scripts would work locally and remotely before starting to tackle the actual project goals.