Police said 55 people were on board the vessel when it hit a large wave and capsized in harsh weather on Wednesday.
South Sumatra water police chief Robinson Siregar said officers were still searching for the captain, who is believed to have survived but 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," he added.
:: Ferry fire off Indonesia leaves 23 dead as people 'fight over life jackets'
People living about an hour's walk away from the crash site later discovered bodies along the riverbank.
The tragedy follows another fatal accident on New Year's Day in the region, which relies on boats to ferry people to and from its 17,000 islands.
Nine people died after the vessel capsized while travelling from the city of Tarakan to Tanjung Selor on the island of Borneo.
Eight people died in July last year in another accident on the same route.
At least 23 people died on New Year's Day 2016 after a fire broke out on tourist boat from Jakarta.
About 250 people had been on board to celebrate the New Year in the nearby island of Tidung.