In optimal conditions it takes about 50 square meters to grow enough food and oxygen for one person. Lets double that to be safe and to make it a round 100.
http://www.tylerdwyer.com/files/OASIS_Final_Report.pdf
Zero g may may this more interesting, you might need to spin your spaceship to allow the plants to grow properly and to keep water in the right places.
So you're going to want something like this crammed into a big cylinder.
10,000 people would need 1,000,000 square meters of plants to keep them alive at a bare minimum.
Assume trays 1 meter apart, that's 1,000,000 cubic meters.
For ship size I'm going to use supertankers.
https://en.wikipedia.org/wiki/Oil_tanker
The the largest supertankers can carry a little over over 500,000 tonnes, assume half or more of the space is lost from having to have some space to let people get between the trays, for equipment, for spare parts so assume the equivalent very minimalist 4 but more likely 6 spinning supertankers to grow your food.
Now you're also going to want significant stores, you don't want to starve because of a few failed pipes so add another couple of the same size for warehouses of food, oxygen and water.
If this is to be very long term you're also going to need a few more supertankers that can produce all the spare parts etc.
Then you're going to need a supertanker or 2 for people to actually live in.