Here is what I did: I measured 4ft x 4ft, dug aprox 8 inches deep, leveled it out, then added weed barrier fabric. I then bought some pre-cut cedar boards (2x6, regular untreated fence board) and nailed them together to create a box. I bought Kellogg Patio Plus, SuperSoil, and some genetic soil that was on sale. I mixed it all together. Added a lot of perlite and a one inch layer of worm castings. I watered it real good. Mean while I was starting my plants indoors under a 125-watt CFL for about month. I hardened my plants off, then planted them. I sectioned the area using the square foot gardening method (one plant per square foot) also known as intensive gardening. I mixed up my bed by growing cat nip, carrots, peppers, lettuce, strawberries, snow peas, and even some broccoli. I've used up three quarters of my bed. The last section is going to hold 4 more plants. If you used the whole bed for MJ you can fit in 9 plants in a small 4x4 area.
The soil doesn't matter to much. The premium brands are better at preventing bugs by sterilizing it, but your gonna get bugs no matter what. And you'll be adding nutrients so that won't be an issue either. Instead, go for something that holds water and breaks up easily for the roots. The $7 kelloggs bag has bat guano, worm castings, and kelp, just like Oceans Forest. Use the high end expensive shit if you want, but you'll be pissed when you see someone who just composted leaves & grass for two weeks outperform your imported bat poop.
When all is said and done. Get as much as you can locally and focus on the entire ecosystem you are creating. Plan on adding insects, have a 2-gallon sprayer with ice water & soap handy. And get a $5 soil test kit so you know what your working with.