You may also be interested in Seed Starting Indoors and our article on Planning an Indoor Garden Space.
There are lots of different mediums you can use to grow your garden: garden soil, peat moss, coco coir, gravel, perlite, sand, even bales of hay. You basically just need something to support your plants and a way to deliver nutrients to them. The two most popular ways of gardening are 1) traditional soil mediums and 2) soilless growing, such as hydroponics. I choose soil because it’s what I understand and what I have experience with. But the enormously successful Aerogardens use hydroponics and that is clearly another great method for growing. This site is not going to cover hydroponics though, at least not yet. I tried a little hydroponic under-counter AeroGarden about 10 years ago and it just wasn’t for me.
Soil
Normally, when starting a garden outdoors, the first thing you need to do is test your soil to determine it’s pH and what nutrients you may be missing. You then can add “amendments” to make your soil more amenable to whatever you are trying to grow. So if your pH is too high, your garden is alkaline, and you could add some acidic sulfur to decrease the pH. If your pH is too low, your garden is acidic, and you would traditionally add some lime or manure to raise the pH to a more plant – friendly level. With some notable exceptions, flowers and vegetables generally like a pH of neutral to slightly acidic, so a pH of 6.5 is just about perfect for most gardening. An example of an exception would be blueberries or azaleas that like very acidic soil with a pH of 4.5-5.
However, this type of gardening is basically container gardening with potting soil that has been brought in in bags. So, we don’t really have to test anything or amend it because it’s pretty much ready to go right out of the bag. I use a mixture of perlite, and any bagged garden soil. I mix about 1 part perlite to every 3 parts garden soil. This allows for adequate drainage and enough airflow to the root systems.
I also add an organic fertilizer such as Jobe’s organic bone meal when I am first getting the self watering bin ready and then again every few months of growing. I add about 2 – 4 tablespoons into each 20 gallon bin and then mix it around in the top 6 inches or so of soil.
As an organic gardener, and a mom, and a composter, I understand that the use of bagged soil may rub some of you the wrong way. But natural garden soil from outside will have lots of microbes and insects in it. That’s great for outdoor gardening, but not for the indoor garden, which you want to keep as pristine and sterile as possible for reasons I mention in my post about keeping the garden sterile.
My various soil tubs.

For the more delicate new seedlings, I use a seed starter mix such as Jiffy organic seed starter mix or coir grow discs or bricks reconstituted with water and then add a fine layer vermiculite over the top. When the seedlings are still fairly small, I move them into the regular soil in the self-watering bins.
Vermiculite

Vermiculite is pretty interesting stuff. It is sterile, inorganic and made from super heating mica. You can use it, as I do, on the top of seedling trays to help minimize fungus and mold. Or, you can mix it in with your regular soil as a conditioner where it can provides aeration and simultaneously help the soil retain water.