Yes. The compositor can do that glare fairly easily, you just have to know the math behind the EEVEE effect to make it look the same.
I’m not an expert and I haven’t tried to implement it myself, so corract me if I say anything wrong, but I’ve read a handful of articles about that and what I’m saying is what I understood from that.
basically how it works:
scale down to 1/2
lower the brightness and filter out the dark areas
apply horizontal blur, then vertical blur (because gaussian blur is expensive)
scale to 2 to get it back to its size, with either bilinear interpolation (fast, can be blocky) or bicubic interpolation (slow but better)
apply it on top of the original render with an RGB mix node.
That’s what I use if i want a soft glow btw. Not the exact parameters as EEVEE but it’s the same principle.
For the DoF, I think EEVEE’s is better than the compositor effect in some aspects. Also how it works from most documents I’ve read about real-time (not necessarily how EEVEE does it, but you’ll get an idea)
First start by taking the Z-depth pass, then extract from it the areas that are too close, and those that are too far (separately)
Apply blur horizontally and then vertically. Possibly many times with varying strengh if the performance allows it. Make sure it doesn’t bleed (I’m not sure if it’s a modifier directional blur that stops when it “sees” a big change in value, or it’s just using the near and far masks created beforehand)
go back to the original image, darken it, and extract areas that should be out of focus and too bright, then with that you can draw individual bokeh sprites (that’s where the compositor can’t work because it doesn’t have loops and can’t iterate, but you can simply use the built in bokeh filter even if it’s slower)
Composite everything on top of the original and voilà