In general, things that only need to get done once can be done in setup().
However, it is usual for someone with these requirements to come back after a couple of days and ask "Having to power-cycle this thing to see the demo again is a drag, it there some way to reset the sketch?"
The answer I give to that soon-to-be-coming question is "No. You do not 'reset the sketch'. You write a sketch which, as part of its normal operation, has a way to run the code that you want to be run when some event occurs."
That is - I suggest that you do not do this stuff in your setup(). I suggest that you crate a 'demo' function and call it from your setup. Then, at a later stage when you get jack of power cycling the sketch to see the blinkenlights, wire in a 'demo' button on a pin and put a call to that function somewhere in your loop() as appropriate.