It's not too tricky. Open your image, select all, and copy it. Then select Image > Canvas size to increase the image size and make it 10px in both directions and check the "relative" box. Do it in the colour of your inner border. (I think white works best for most pictures)
Then select Image > Canvas size again but this time 20px in each direction, and with a different colour. Duplicate the background layer. On the new layer, use the magic wand to select this new outer border, and delete it. then deselect everything.
Toggle the visibility of the both layers to off, and make a new layer. Paste your image (as copied before) in to the new layer, and press CTRL + T to transform it, and expand it to fill the frame. It should snap to the edges when it gets close. Press enter to confirm. Apply a gaussian blur of however much you feel (~50px for me). Drag this layer below the other layer, and enable the visibility again, and it should be done!
Bit of a long winded process though, I'm sure there are faster ways, or ways to automate it.