The boat was carrying 55 people along the Musi river when it hit a large wave and sank amid bad weather Wednesday, South Sumatra water police chief Robinson Siregar said.
He said the police were still searching for the captain, who reportedly survived but went missing.
"His assistant has been detained for questioning to find out, for example, whether or not the boat was seaworthy or there was negligence by the crew," Siregar said.
Bodies were found along the riverbank, with one discovered by locals an hour's walk from the accident site.
On New Year's Day, at least nine people died after a passenger boat capsized when traveling from the city of Tarakan to Tanjung Selor on Borneo island.
Last July, eight people drowned in a boat accident on the same route.
On New Year's Day in 2016, at least 23 people died when a tourist boat from Jakarta burst into flames. It was carrying about 250 local holidaymakers to celebrate the New Year on Tidung island near Jakarta.