Only with well-regulated EU external borders could Germany remain a country "where people can flee, for as long as war and persecution exist," Gauck said at the opening of the 40th Intercultural Week in Mainz.
While Gauck said that he was impressed by the "calm and creative energy with which the vast majority of the population has reacted to this crisis," he added that "our heart is large, but our possibilities are finite", Spiegel Online reported.
"Our capacity to take people in is limited, even if we haven't yet worked out where those limits are."
Warning of conflict
Gauck's speech was also freighted with a warning against stoking conflict between the new arrivals and people already in Germany.
Strife could best be avoided if "neither one side nor the other feels itself disadvantaged," he said.
To achieve harmony in society, the state would have to "push for constructing houses and schools, hire school and kindergarten teachers, create the right conditions in the world of work and vocational training, teach German language and law.
"And all of that at one and the same time."
In the meantime, Gauck said, he could empathize with those who were unhappy about the resources being devoted to caring for the refugees that were being diverted from elsewhere.
"I can completely accept some complaints," he said.
No tolerance for violence.
Gauck finally addressed himself to the refugees themselves, saying that "here we are in a country of freedom, of human rights and of equal rights for the sexes.
"It can be yours too," he added, although he warned that there would be some among the refugees who rejected Germany's modern, secular culture and "persist in the traditions and legal traditions of their regions of origin".
To "fundamentalists and other ideologues who disrespect our laws and fight against peaceful order" he said that "the constitutional state tolerates no violence.
"It will pursue any criminals forcefully."
Mass brawl in refugee home
On the very same evening, 14 people - including three police officers - were injured in a mass brawl among refugees in a tented camp in Calden, a former airport near Kassel in northwest Hesse.
Police said that several hundred people of different nationalities were involved in the hours-long fight, which saw combatants attack one another with sticks and tear gas.
Officers were looking for a way to divide the nationalities represented in the camp in the evening so as to calm the situation.
The fight is believed to have started after a quarrel between two men as lunch was being served.
That later escalated into a broad confrontation between Pakistanis and Albanians inside the camp, which holds around 1,500 people from 20 different nations.
Police were only able to restore order after several hours. Nobody was arrested.
The fight came just two weeks after around 60 people were hurt, including children, when tear gas was sprayed around the camp during a previous brawl.