What is a good circuit design to drive this relay safely from an ESP32?
The ESP32 has configurable output ports that support up to 40 mA when driving high:


See the datasheet.

All ports will sink 40 mA driving low (the absolute maximum is 80 mA). The default as shown is 20 mA for a high.  

Connect the signal VCC to the Relay 5 V VCC, and the Opto diode in series with DSx ensures that the ESP32 pin cannot be pulled above about 2.5 V.
If you want to absolutely ensure the voltage can't rise then you could add say a 10k Ohm resistor from each output you use to ground. 

There are many derivatives of the relay board you have chosen and many of the datasheets specify they work on 3.3 V signal levels. 
This then gives you an input circuit like this:







simulate this circuit &ndash; Schematic created using CircuitLab