I need advice please

i have been with my partner for 18 years now and have had 2 breakups along the way. He has always been verbally abusive. I have 2 children 22 and 16 and the 16 year old is his. We fight alot, in the beginning it was all good then we used to fight alot over my eldest son, him saying i baby him too much. I thought it maybe because he wasnt his child and after the birth of my second son it got worse we did separate for a while with a restraining order on him to keep him away as he was so angry all the time and verbally abusive. We did get back together after about a year and a half simlpy because he helped me move and needed somewhere to stay for a while and that turned out to be for good. i have spoken to him on numerous occations about seeing someone about his anger as i couldnt keep walking around on eggshells everyday in fear of setting him off. I moved out again for a year to look after my dieing mother and he was super supportive of us. After the loss of my i mum i ended up moving back in only if he got help, which he did. He had to take a tablet everyday. But now im so over it not only does he have a chronic (marijuana) drug problem long term, he is an alcoholic, When he starts his tablets it takes about 2 weeks to get into his system and makes him tired and cranky then he is ok but every time now he goes off his tablets as he doesnt get his scripts made up or go back to the Drs so we have to endure this every month of him going on and off his tablets. i have told him if he continues this behaviour that i am done i can not do this anymore. Money is another problem, he works fulltime and im at home as i have disabilities but he w always needs to borrow money which he never pays back so nearly all my savings are gone, to the tune of $40,000.00. Im a very independant person and my remaining at home son is chomping at the bit to get away from his dad. Im very scared to go out on my own again at the age of 40 to start over. I need to know if my decision to leave is the best thing to do? Thank you for reading my jumbled thoughts.