I have an aquaponic system that I grow lettuce and other things in (i don't grow buds atm). It consists of an 18 gallon rubbermaid and a small "under the bed" tote filled with pea gravel (about 3sq feet of growbed in 6-7 inches of pea gravel). I keep 3 goldfish and a cray in the tub and pump from the bottom of the tub up to the growbed with a rio 800. The growbed has about 18 1/16th inch holes drilled at the lower corner hanging over the tank and about 6 1/4 inch holes at the top of the pea gravel. That's to make sure any overflow still spills back to the tank. The pump is on a 15-minute on/off timer. You don't need an airstone, as the piston action in the growbed and the waterfall effect back to the tank are more than enough air for fish and plants alike. The growbed acts as a biofilter, two types of bacteria develop: one that breaks down ammonia to nitrites and another that breaks the nitrites to nitrates, which are then consumed by the plants.
It takes a week or two to develop the bacteria and "cycle" the system; but after that you're good to grow whatever you want. The only input is fishfood and dechlorinated water every now and then to top off. I've had mine running for around 11 months and the water is clearer than the clearest stream and the food is huge and tasty.
Fish are happy and so is my belly.
If done with some patience (make sure to cycle and allow the bacteria to form before planting), your fish will be happy and so will your mind.
Happy Growing!