If you go the FlowPanel route, you wouldn’t need a repeating panel or its companion template.
You could extrapolate from something like this:
for row in app_tables.my_table.search():
picture=Image(source=row['picture'])
name=Label(text=row['name'])
lin_panel=LinearPanel()
lin_panel.add_component(picture)
lin_panel.add_component(name)
self.flow_panel_1.add_component(lin_panel)
This assumes that there is a DataTable that has a text column for names and a media column for your pictures.
Of course, the posts above may also work, but this seems like it might be simpler in some respects.
Good luck!