I have done this personally and here is what you can try.
Steps 1 -4 assume you are using home internet service where your IP address is dynamic and not a static IP
First step:
You will need to make sure you have port forwarding enabled on your router for port 3333 to go to the internal ip address of your Apollo.
You can find this by logging into the gui and clicking on the solo mining option it tells you the internal ip as well as that its port 3333.
(Some routers need a full reboot after setting this configuration)
Second step:
Find your public IP address you can use tools like whatismyip.com
Third step:
Tell Compass to use the stratum code stratum+tcp://YOURPUBLICIP:3333
You can tell the to use your bitcoinaddress.workername with a password of x
Once they do then you then should see your miners hashrate show up on your Apollo / ckpool.
Fourth step (Optional):
If you are using a dynamic IP address look to see if your router offers DDNS (Dynamic DNS) if so configure it with so that you can always route to your public ip in case it changes.
This is great! Thanks so much for your help!!! I am definitely not as advanced but no my way around. I use an eero router. DDNS is not enabled. Do I enable that, grab the domain they provide then that's what i give to compass? That way if the external IP changes, the domain always points to it.
You must enable port forwarding regardless!
Yes, if ddns is available, then 100% use the domain they provide with :3333 at the end.
Give Compass that ddns info as your stratum, but make sure you include the :3333 at the end of the ddns domain.