Best practis; copy model with associated models

Dear list,
For a customer I am building a collaboration environment, including a
wiki/forum/file sharing etc. Now they want to ‘template’ a
collaboration environment by adding some default files, prefilling the
wiki, inviting a default set of users.
As you can see this involves quite some models. And I trying to figure
out what would be the best way to implement this. Use YML files?
Create a ‘template’ flag in my database and copying everything to a
live instance?
I am a bit at a loss here.
Any help would be greatly appreciated!

With kind regards,

The template flag works for us. Doing something very similar. Depending
how much data you’re moving it could take a while to create all the
associated objects when you do a copy. Be mindful of that.