At my wits end with my husband

We've been together 6 years, married three years and have two kids under two. He's been spending ALOT of time with his friends and when I call him on it he calls me naggy and controlling and claims I would only be happy if "he was locked in the house 24/7". He's out 5 nights a week and most weekends. I know he's not cheating because my friend is his best friends gf and is always with them.  He called me today and asked if it was ok to go out camping with his friends this weekend and when I said no our son wants to spend time with you since you're going to Mexico for five days next week with your friends, he got pissed. He came home at 6pm and I had made a really nice dinner, he walked though the door and the only thing he said was the house "smelled weird" then just walked into our room (I know he's just being a dick because I asked him not to go out with his friends and because he's out of weed, he always treats me like shit when he's out of weed (he has a card)). When I asked if he was going to eat dinner with us (me and kids) he yelled at me saying no that he's going to steam clean the carpets (that I steam cleaned two days ago). About an hour later he still hasn't talked to me and starts moving shit around and "organizing closets" in my daughters room when I'm trying to put her to bed. I asked him nicely not to since I was trying to get her to sleep (she's 6 months) and he said he was doing it and that's the way it was going to be. He's been making noise around the house since then making everyone very aware he's pissed and making as much noise as he can. I don't know what he's "cleaning" because my house is always clean since Im a SAHM. So right now in laying in my daughters room next to her trying to settle her for bed while he's banging doors and making noise on purpose because he's out of weed and I asked him to spend time with his kids this weekend😔 My son is already sleeping and I'm afraid he'll wake him. I've talked to him about this SO many time and whenever he feels like he's being attacked in any way he just tells me I'm a shitty house wife or a naggy wife, and I'm just sick of it. Hes only nice when he wants a blow job or sex and I feel so isolated since we just moved startes for his job and I'm 3000 miles from my family and friends. Whenever I ask him to stay home with the kids so I can go see friends he says no that it's my job to stay home with them while they're this small. I feel on edge everyday wondering what kind of mood he'll come home in. He can starts being in a bad mood over nothing and I'm always the one he takes it out on when he is and it's so uncomfortable to be in our home when he's out of weed or when he's randomly mad. What do I do?