Try break it down into individual issues. If you can take small steps to improving your wellbeing, over time it will add up, though i know thats much easier said than done!
Why can't you say no at work? Especially if you've had previous issues caused by work, work can be a really significant contributor to poor mental health. If you could find a way to set boundaries at work that could both help reduce work stress and free up time to do other things (exercise, seeing friends, etc) that may help you feel better.
Try to stop thinking others have it worse. I've been there, but it doesn't help. Just because others have it worse it doesn't negate your issues. If a friend came to you having a tough time with eg a relationship, I'm guessing you wouldn't say to them oh but others have it worse, you could be starving, in a war zone etc, get over it. It doesn't work like that, your feelings are 100% valid even if others do have it worse.
Try just look after yourself. Think about your lifestyle, including the overeating and drinking, and identify some baby steps you could do to improve things. Small changes add up over time.
Are you getting any professional support with your mental health? If not, a visit to the GP may be worthwhile.
Also remember things have improved for you in the past, so they can improve again. Just because you feel rubbish now that doesn't mean it won't pass. Odds are it will, and one day you'll feel better and look back at this as a bad time. Try not to lose that hope.