Connecting my Dapp to my IPFS node?

So in a React app. I crate some NFT and with IPFS JS I would like to add the files to a node. I would like this node to be my own personal node behind a dynamic IP. Is there a way for IPSF JS to connect to a node using it’s peer id?

Maybe i need another service in between that will link a url to my node?

All the example I see uses Infura or localhost.

Is there some kind of IPFS gateway to link a url to my peer and allow me to upload a file?

My Dapp is already hosted on my node and can be reached with an ENS domain linking to a CID.
Can I have an ENS name that point to a peer id and that IPFS JS will recognize?