Nothing quite compares to picking your first vegetable or serving up a fish you raised yourself. But a thriving aquaponics setup takes more than tossing fish into a tank and running water past some plants. This guide walks you through building an IBC tote aquaponics system — a solid, wallet-friendly way to get your feet wet. Starting with an affordable build matters because as your skills grow, you’ll want room to experiment with new techniques, and a lower-cost system gives you that freedom without a big financial commitment.

The IBC Tote

The single most important piece of your setup is choosing the right containers. You need one vessel to hold your fish and at least one to hold your plants — and conveniently, a single IBC tote can supply both. Slice the top third off and flip it over, and you’ve got a ready-made grow bed.

IBC stands for Intermediate Bulk Container — essentially any large container built to hold bulk liquid. Most are semi-clear plastic housed in a metal frame. They’re tough, but you’ll want to block outside light from reaching the fish tank portion (a coat of paint or a wrap works) to keep algae from taking hold. You can buy one new, or find used totes through online marketplaces, classifieds, or local businesses that no longer need theirs.

If you go the used route, confirm it previously held food-safe contents, and clean it thoroughly — residue from its former contents could poison your fish or plants. Rinse it out with a hose first. Then fill it with water and ordinary dish soap, let it sit five minutes, and flush again until no suds remain. If you’ve already cut the top off, you can scrub the interior by hand with dish soap instead, then rinse thoroughly to remove all soap and chemical residue.

One of the best things about building with an IBC tote is the flexibility it gives you to try almost any style of aquaponics setup down the road. For a first build, though, a straightforward flood-and-drain design is the easiest place to start.

What You’ll Need

Gathering your materials and tools ahead of time makes the build go far more smoothly. Here’s what to have on hand:

  • IBC tote container — this becomes both your fish tank and grow bed. A standard 250-gallon tote gives you roughly 150 gallons of water for fish, which is a comfortable size for a first system.
  • Saw — you’ll need to cut the tote open. A hand saw or power saw both work, and you’ll also want a file or sandpaper to smooth any sharp edges left behind.
  • Drill — connecting your tanks means running pipe, ideally around 1 inch in diameter, which means drilling clean holes. Use a hole saw sized at about 1¼ inches for the fitting your Bell siphon or U-siphon will need.
  • Growing media — river rock works well since it drains at a good rate and supports bacterial growth. Lava rock is another solid option, though it’s rougher to handle. Gravel is the cheapest choice but drains poorly and doesn’t support bacteria growth as well — even though bacteria are essential to your fish and plants surviving. Clay pebbles are pH-neutral, hold up over time, and make an excellent (if pricier) base; river rock is a good budget alternative.
  • Water pump — sized to cycle the entire fish tank’s volume at least once per hour, which keeps the water clean and delivers nutrients to your plants consistently. For a 150-gallon tank, that means a pump rated for at least 150 gallons per hour, though you should size up (roughly 1.5x) to account for the vertical lift from tank to grow bed — meaning a pump around 225 gallons per hour for a 150-gallon system.
  • Air pump — even though the system generates some oxygen naturally, a small air pump adds a safety margin. Size it to your fish load: for a worst-case stocking of around 30 pounds of fish in a standard IBC setup, plan for roughly 11 grams of oxygen demand per hour, then choose a pump rated comfortably above that figure so your fish stay safe even under peak demand. Pairing the pump with an air stone breaks the output into finer bubbles, which raises how much oxygen actually dissolves into the water. If your water pump is oversized, you can also split some flow back into the fish tank to add aeration that way.
  • Filter — beneficial bacteria convert most fish waste into plant nutrients, but larger solid waste and debris can clog your pipes over time. A basic settling filter catches those larger particles before they reach your plumbing. A small IBC setup like this one typically doesn’t need one, but it becomes important if you scale up to a bigger system later — the more fish you keep, the more filtration matters.
  • Plastic pipe — around 1 inch in diameter (using a reducer fitting as needed) to carry water from tank to grow bed. Because the grow bed sits above the tank, you can position the Bell siphon so water drains straight back down into the fish tank below.
  • pH testing kit — you’ll be checking water chemistry regularly once the system is running. Beyond pH, pick up test kits for ammonia, nitrite, and nitrate too, so you can track the full picture of your water quality.

Choosing Fish & Plants

With your equipment sorted, it’s time to decide what you’ll actually be raising and growing — the fun part. Your choice of fish and plants shapes several other decisions in your build, so it’s worth thinking through early. If you’re set on tropical fish species but live somewhere cold, budget for a water heater. A grow light can also help your plants, especially indoors or in low-light spots — just keep any artificial lighting away from the fish tank itself, since it tends to encourage algae growth there.

Tilapia — a popular first choice thanks to how well it tolerates swings in temperature and pH, making it very forgiving for beginners. It thrives between roughly 60–75°F, gets along well with other fish, doesn’t prey on its own young, and has a notably mild flavor that’s made it popular on restaurant menus.

Channel catfish — a hardy, adaptable species commonly used in commercial operations. It handles system fluctuations well and tolerates water from about 55–70°F, preferring the 60–70°F range. It also resists parasites and bacterial issues that smaller tank systems sometimes develop. One tradeoff: catfish tend to stay near the tank bottom, so you can’t stock as densely as with other species.

Carp — not typically eaten but excellent at tolerating the swings of a newly established system, making carp a smart pick if you don’t plan on harvesting your fish. Koi, a type of carp, can be eaten and are considered tasty when prepared well.

Goldfish — a relative of carp, rarely eaten but visually appealing and very hardy — another good option if you’re not planning to harvest your fish.

Trout — flavorful, but not the easiest choice for a beginner. Trout need colder water (around 55°F), and that colder water can slow the growth of common starter crops like lettuce, tomatoes, and cucumbers.

If you live somewhere warm, tilapia is a solid pick; in cooler climates, trout tolerate the conditions better. You’ll also need to decide how many fish and how many plants you want — the two numbers are closely linked, and knowing one helps you calculate the other, along with the tank size you’ll need.

Stocking Levels

Fish waste becomes the nitrates your plants feed on, thanks to naturally occurring bacteria. Those same plants clean the water and send it back to the fish. Get the balance wrong, though, and problems follow in either direction: too few fish and your plants won’t get enough nutrients; too many and the plants can’t keep pace with cleaning the water, leaving your fish in poor conditions.

A workable rule of thumb is one pound of fish for every 8 gallons of water. For a 150-gallon tote, that works out to roughly 18 fish at their full adult weight. An alternative approach starts from the plant side: figure out your grow bed’s square footage, work out how much feed that supports, and back into a fish count from there — though that calculation gets more involved than we can fully cover here. Either way, always calculate using each fish’s adult weight, even if you’re stocking juveniles now, since they’ll grow into that space.

Setting Up Your System

With your materials gathered, your location picked, your growing media chosen, your fish and plants decided, and your pump and test kit ready, you’re set to start assembling. Here’s the order you’ll work through:

  • Prepare the IBC tote
  • Choose your location
  • Set up your tank
  • Install the water pump
  • Add a Bell siphon
  • Add your grow media
  • Establish your bacteria
  • Add your plants and fish

Step 1 – Cut Your IBC

Start by removing the steel cage surrounding the tote — unbolt the top bars and lift the tote free, then re-bolt the bars back onto the cage since you’ll need them later to support the grow bed. Remove the bolts holding the cage to its base as well.

Measure down 12 inches from the top of the cage — that should land you just below the first square opening — then cut around the cage at that height. A wire cutter, reciprocating saw, hack saw, or angle grinder can all get this done, though an angle grinder tends to work best. Once finished, you’ll be left with a single-row-high base section of the cage. File any rough edges smooth and cover them to prevent rust.

Now cut the top off the plastic tote itself. Measure 14 inches down from the top — that leaves room for 12 inches of grow media plus some dry space above it, which helps limit algae growth. A jigsaw usually makes this easiest, and you’ll want to file the cut edge smooth so no plastic shavings fall into your system.

Finally, locate the metal valve cover flap on the front of the cage and unscrew it. Measure 12 inches out from each side of where that valve cover was and remove those sections of the cage, leaving a gap spanning about three-quarters of the cage’s top width — this gives you room to access your fish once the grow bed is in place.

Step 2 – Choose The Location

Now pick your spot. Weigh how much sunlight the area gets and how convenient it is to reach. A greenhouse works well, and an indoor spot is fine too as long as you account for the space it takes up and plan for the possibility of a leak.

Once you’ve settled on a location, bolt the cage back onto its base and set it in place, making sure it sits level. It’s better to leave the drain valve on the bottom of the tote installed rather than removing it — an exposed opening risks someone accidentally opening it and draining your whole system. Attach the valve cover plate over it and screw it to the cage for extra protection.

Step 3 – Setting Up Your Tank

Even with a food-grade tote, give it one more wash and rinse before setup — now’s the time. Set your fish tank inside its cage at your chosen spot, then lay two solid, untreated 2×4 boards across the top to support the grow bed — resting the grow bed directly on the tank without this support risks sagging and long-term damage.

Position the grow bed so its front edge rests on the front board, with the back overhanging the rear of the cage slightly — this lets you see and reach your fish easily. The cross bars you reattached to the cage help distribute the grow bed’s weight evenly.

Check the top of the tote for a screw lid, which may include a pressure release valve — this usually isn’t an issue as long as the lid is on tight, but if you’d rather not take chances, cut the valve out and seal the opening with silicone.

If you want the grow bed lower, you can trim more metal off the base of the cage — just remember to also trim the fish tank section of the tote to match so it still fits inside the cage properly. Paint or otherwise cover the fish tank section so sunlight can’t reach the water and trigger algae growth.

Step 4 – Water Pump

The pump’s job is moving water from the fish tank up into the grow bed. Any aquarium or water pump works as long as it can handle at least 225 gallons per hour. Look for one with a float switch so it shuts off automatically if the water level drops too low — and mount it at least a foot above the tank floor, so if it does shut off, your fish still have water to swim in while you sort out the problem.

You’ll need reinforced, kink-resistant tubing connected to the pump via a reducer fitting (often included with the pump), plus T-fittings and a couple of shutoff valves from any hardware store. Stainless steel hose clamps help secure everything in place. A helpful trick: running the kink-resistant tubing under hot water first softens the plastic, making it much easier to slide onto fittings.

Set the pump in the base of the fish tank, then run tubing up and out into a T-fitting. Fit one side of the T with a shutoff valve — this lets excess water return to the fish tank, doubling as an aerator and relieving pressure if your pump is oversized, while also helping you dial in the right flow rate for the Bell siphon. The other branch of the T continues on toward the grow bed; zip-tying it to the cage keeps it steady under pressure. Add a second valve near the top, before the line enters the grow bed, so you can shut off flow for cleaning — or route it to a bypass valve that sends water straight back to the tank temporarily while you clean the beds. Finish the line with one or two 90-degree elbows so it rests comfortably over the edge of the grow bed, with water dropping onto the media in one corner while the Bell siphon sits at the opposite end, so the flow works its way across the entire bed.

Step 5 – Adding A Bell Siphon

Now that water can reach your grow bed, you need a way to send it back to the fish tank. A Bell siphon automates this — the bed floods and drains on its own without you having to do anything.

The siphon itself has an outer sleeve with small slits that let water through while keeping growing media out, along with an end cap to hold it secure in the bed. A top cap with two sections cut out lets it sit loosely in place while still letting water in, with openings small enough to keep debris (which can clog your system) from getting inside.

At the center of it all is a standpipe, which holds water back from draining until it reaches the pipe’s top edge. Make this pipe about 10 inches deep — tall enough that water never quite reaches the top of the grow bed, which helps prevent algae.

Cut a hole in the grow bed’s base sized to match your standpipe — your bulkhead fitting will give you the exact measurement, and a 1¼-inch hole saw is the right tool. Position it near the side opposite the water inlet. Once the hole is clean, stack a washer, then the end cap, over it. Add the bulkhead fitting on top of the end cap, and a second washer on the underside of the grow bed, then secure it all with a nut. A 90-degree elbow on the bottom of the valve boosts the siphon effect — tightening it may loosen the nut above, so recheck it afterward, using water pump pliers if needed.

Add a short length of pipe and another 90-degree elbow beneath the grow bed so water discharges precisely into the fish tank rather than risking an overflow. Then screw the standpipe into the bulkhead fitting inside the grow bed, and slide the valve and shroud over the top. Before adding your growing media, run water through the system to check for leaks.

Step 6 – Grow Media

Rinse your chosen media in a sieve until it runs clean (a piece of netting over a wheelbarrow works fine if you don’t have one) — two or three passes usually does it. Once clean, scoop it straight into the grow bed and switch the pump back on.

Even after cleaning, expect the water to look cloudy at first — give it a few days to settle. This isn’t just cosmetic: if you filled with tap water, that time also lets chlorine and other treatment chemicals dissipate, which is important for your fish’s safety.

Step 7 – Bacteria

Beneficial bacteria are what actually convert fish waste into the nitrates your plants rely on — without them, your plants go hungry. To kick off that process, add a small number of fish to the tank. Their waste supplies the ammonia the bacteria need.

Here’s the basic chemistry: fish waste produces ammonia, which is toxic to the fish themselves if it builds up, and can’t be used directly by plants either. Fortunately, Nitrosomonas bacteria appear and convert that ammonia into nitrite. A second type, Nitrospira, then converts the nitrite into nitrate — the form plants can actually use.

Before adding fish, confirm the pH sits in a safe range for your species, typically between 7 and 7.5. The water can cycle on its own over time, which you’ll track through regular testing, but introducing a few fish early speeds the process along — keep the initial count low. Some people jump-start the cycle by adding ammonia directly rather than starting with fish, which can save time.

Step 8 – Adding Plants & Fish

Once your water chemistry checks out — ammonia, nitrate, and pH all in range — you can add more fish and begin planting. If you’re transplanting anything that was previously grown in soil, rinse the plant and roots thoroughly first so you don’t introduce contaminants into your system.

Don’t be alarmed if plants droop or yellow slightly at first — that’s normal transplant shock, and they typically bounce back with new growth within a few weeks. During this period, keep testing pH, ammonia, and nitrite/nitrate levels closely to make sure conditions stay right for both your plants and fish.

Getting Your Flow Rate Right

One of the trickiest parts of a new build is dialing in the flow rate. An oversized pump lets you divert some water back into the fish tank as a spray, which adds oxygen without needing a separate air pump. As a target, aim to cycle the entire tank volume through the grow bed media at least once per hour — but the water should never rise over the top edge of the grow bed. If it does, your flow is too strong for the Bell siphon to keep up, so open the tank-side valve to ease it back.

From here, it’s mostly a matter of daily monitoring and enjoying the process as your plants and fish settle in and start to thrive.