One gallon is fine if you keep up with water changes. 2.5-5 gallon tanks are excellent. Some Bettas are only comfortable in smaller tanks, though, and some are only comfortable in larger tanks. It depends on the Betta.
They love live plants like Java Ferns, Java Moss, Camboba. The Java Ferns they like to sleep in, and the Camboba they seem to treat as a Betta jungle gym (according to BettaMomma
).
Caves and things to swim through are excellent, as long as there is no where that they can get stuck, no sharp edges, and there are escape hatches so that they can reach air anytime they need to.
Some Bettas can live in community tanks, and others can't handle it at all---they're either really stressed and they get sick, or they torment their tank mates. Things to avoid in community tanks are: Neon Tetras (unless they're in a VERY large shoal of their own, because they nip fins), Platies (their bright colors can sometimes intimidate a Betta, or make him turn violent), Mollies (I've had very bad experiences with Mollies nipping at and generally torturing my Bettas), Guppies (the bright colors and large tails sometimes make male Bettas aggressive, or, in the case of one of my male Guppies, the male Betta ends up being nipped at, postured at, and picked on), Tiger Barbs (notorious fin nippers, will nip a Betta to death), and anything else that is mouth-sized (the Betta can and will eat them), big enough to eat the Betta (self-explanatory), anything that nips fins (Bettas are easy targets with those big, showy fins), or anything that looks like another Betta (this includes most species of Gouramis).
These are just guidelines. All Bettas are different, and some really are better off alone. Some, however, are actually good members of a community. Usually, it's better not to risk it, or to give it a try and have a separate home for a Betta in case things don't work it. If giving it a try, though, it's best to be on hand, because things can get really bad in a hurry.