Correct process to spin up a load balancer from a single droplet

Hi, I am running a docker based Discourse droplet. I would like to create a redundant environment and I was thinking about load balancing. What eludes me is the process. I now have a production droplet that runs the website. Should I stop the droplet, make a backup and spin up a new one out of the backup? At that point, I assume I assign both the droplet at the load balancing. My question is, how are the droplets kept in sync ( database and codebase ). Do I need to manually sync them?


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.


Indeed spinning up a new Droplet from a backup sounds like a plan.

Regarding the database, I would recommend moving your Database to a separate Droplet or using DigitalOcean managed databases. That way your database would be external and your two Droplets would be connecting to the same database and you would not have to set up database replication. So it would be something like this:

Load balancing

Regarding the storage sync, you could do one of the following:

  • Lsyncd: For similar setups, I’ve been using lsyncd and it works pretty well, you can take a look at this tutorial here on how to do that:

One problem that I’ve had in the past is that if there are too many files to be synced, you might start hitting some Kernel limits which could cause unexpected behavior.

  • NFS: Another thing you could do is to use NFS and mount a shared directory on your second Droplet:

Regards, Bobby

Thanks @bobbyiliev , I had the impression this was a little harder than just dropping the droplets in the loadbalancer. I was expecting a little more of automation :)