If you're only targetting 2-3 systems for redundancy (each the same apps), you could configure them exactly the sime behind a load balancer, then have each deploy just run to all 2-3. Did this as a POC early last year.
In that case, it was using Azure Tables and an ElasticSearch cluster. Also, you'd probably want to manage databases used by multiple systems outside your dokku anyway, but I would just assume use a DBaaS offering given an option is suitable, I have less desire to manage a database/backups, etc.
reply