Turns out that the problem wasn’t with PocketID or Outline per se, but that the AdGuard container I am using as local DNS couldn’t be reached by neither of them. When I enabled the setting for “Host Network” in AdGuard’s config, I was finally able to login to Outline using PocketID.
That’s nice, of cource. But since I’m new to the world of Docker and TrueNAS, I would also like to understand why that solved the problem, why the UI advice against activating it, and if there is a better way to let other containers send DNS queries to AdGuard?
In the world of docker, each docker container gets their own internal docker network and you access it by port forwarding ports from the host ip to the internal docker ip. If you choose host network, the docker container gets placed directly on the host ip. This would prevent multiple apps from accessing the same port (lets say 80). If multiple apps have their web interface on port 80 they would fail to start because it may be already in use. With docker networks you simply can port forward different ports to the internal port 80.
Usually for container to communicate with each other you’d place them on the same docker network so they can communicate with each other. This is currently not possible with truenas apps, without using the cli or other management means like portainer.