I can understand unwillingness to pay a fortune in migraine meds and doctors, but headache for that long might be a sign of something more serious! Please get it checked out if you haven't already done so. Back to your question- There is no magical cure-all for migraine, especially chronic migraine. Not prescription, and not herbal.
If you don't want to take medication for migraines, you'll have to make some lifestyle changes instead. The following are adjustments given to me by psychiatrists/ neurologists/ sleep specialists/ and migraine specialists over the past few years that have helped me cope with my own without long term medication. It's pretty simple: sleep and eat well, and you will get better. For the most part, non-restorative sleep causes episodic migraine to transform to chronic migraine. Think back to 2009, if there was something in your life that kept you from sleeping well, then getting your sleep pattern back might help your migraines a lot. There are a lot of things that can disrupt your sleep including back or other skeletal-muscular pain, a restless bedmate, or simply stress. In an effort to fix your ability to sleep, sometimes you have to fix a lot of problems that feel like have nothing to do with your headaches. Along the way, you'll find yourself feeling better.
My neurologist recommends a solid 9 hours of doing nothing in bed except lying down and trying to sleep. Do some research on "sleep hygiene"-the rules suck but they do make your sleep better. If you're having problems with falling asleep, there might be more beneficial herbal remedies than those that would be recommended to you for migraine.
As always, do your research. Make sure you understand what you're putting into your body and what it is SUPPOSED to do. You can get into sketchy territory very quickly without the guidance of someone with training like a homeopath/ naturopath. Don't treat herbals with any less concern than you would a prescription drug!