I made this while watching a tutorial. Made some edits. Figured people could make use.
It's just a bezier curve so easy to change shape/length of the tube. The material is easy to edit to change color etc.
There's drivers on some of the shader attributes that automate the speed and other things. If you just click on the purple boxes you can change the frame number that pops up to change speed of different parts of animation. example: you type #frame/100 The overall speed depends on the FPS on project as well.
Kinda cool and lightweight. The actual shader is under 1MB, but I packed a free HDRI and a rendered frame with it. The video preview was low resolution so watch it small to get the idea of how it looks.
Also uses SID in compositing but you shouldn't need it installed as everything it does is native to Blender.
Another video example. In this one I added a solidify modifier to the curve. I also added a Color Ramp and Hue/Sat node that I inputed into the shaders color. Then I used a driver like in description above on a couple attributes of the Hue/Sat node. I also plugged different things into the Factor for the Color Ramp node to change the way the gradient was applied.
Tutorial - You Tube
HDRI - Cool and Warm Nebulae by Verde Studios
(free on Blenderkit addon)
Unrelated Bonus Video: Blender Audio Visualizer