how to connect external power to an 8 channel relay

The jumper between VCC and JD-VCC means that your Arduino will be providing power to energize the relays. And having that jumper present also means you lose your isolation, but the benefit is that you don't need a second power supply.

Your diagram is correct. Think of it as the relay board having two separate circuits and each side needs to have its own power and GND. On the Arduino side your IO pins sink current so they take the place of GND.