Custom Apps cannot connect to each other on internal network (Connection Timed Out)

"Hi, I’m running TrueNAS SCALE version 25.04.2.3 and am having trouble with networking between two custom apps.

I have installed EspoCRM and MariaDB, both as “Custom Apps” (manual Docker installation).

  • Both apps are running correctly.
  • The internal IP for the MariaDB container is 172.16.6.24.
  • The EspoCRM setup fails to connect to MariaDB with a “Connection timed out” error.

To diagnose, I have run a telnet test from inside the EspoCRM container to the MariaDB container. The command telnet 172.16.6.24 3306 also times out.

This proves there is a network block or firewall policy between the two custom app containers. How can I configure the TrueNAS network to allow these two containers to communicate on port 3306?"

That’s because in the world of docker, each container gets their own internal docker network with a different subnet and therefore are isolated from each other.
For apps to communicate with each other they need to share a common network or you have to use internal dns.
Vote for this feature request.

In the comments of that feature a community member shared a script he wrote that can be used to get inter app communication to work.

Another option would be to install portainer from the apps catalogue, manually create a “share” network and manually add it to the apps you want to use.
The same could be done via cli with plain docker commands

docker network create -d bridge networkname
docker network connect networkname containername
2 Likes

you can also simply build both in the same yaml, and they will be placed in the same subnet

services:
  app1:
    image: ***
    ...
  app2:
    depends_on: app1
    image: ***
    ...
2 Likes