No description
Find a file
2025-10-16 01:22:47 +02:00
fixtures skill issue 2024-12-01 18:42:28 -08:00
src made some revert from the docker swarm decision 2025-10-16 01:22:47 +02:00
.dockerignore initial commit 2024-12-01 17:50:23 -08:00
.gitignore initial commit 2024-12-01 17:50:23 -08:00
docker-compose.yml added some readme 2025-10-13 20:49:05 +02:00
Dockerfile bump node to 22 2025-02-26 10:35:44 -08:00
LICENSE readme 2024-12-01 19:07:06 -08:00
package.json install pnpm at build time 2024-12-01 22:39:30 -08:00
pnpm-lock.yaml improve logging, exempt all non-bridge networks 2025-02-26 10:33:44 -08:00
README.md changed scope of the apps-internal network to overlay to support docker swarm 2025-10-13 21:44:49 +02:00
tsconfig.json initial commit 2024-12-01 17:50:23 -08:00

Dragonify

Warning

This is a forked repo, see the original for more detailed development. The only difference here is that the network isn't internal.

This is a small utility for TrueNAS SCALE 24.10 (Electric Eel) which configures the Docker networking for TrueNAS-managed apps to allow them to communicate with each other, as was in 24.04 (Dragonfish). It will also add a DNS alias in the format {service}.ix-{app-name}.svc.cluster.local for each service to ensure backward-compatibility with the old Kubernetes-based apps system.

It's a stop-gap until inter-app networking is properly implemented in Fangtooth.

Warning

Dragonify introduces functionality that is unsupported by iXsystems. If you are having problems with your TrueNAS installation or its apps, please try stopping Dragonify and restarting all apps to see if the problem persists.

Installation

  1. Go to "Apps" in the TrueNAS SCALE web UI.
  2. Click "Discover Apps".
  3. Click in the top-right corner, then "Install via YAML".
  4. Set the name to dragonify, and paste the following YAML into the text box.
services:
  dragonify:
    image: git.nixit.it/holden093/dragonify-ext:latest
    restart: always
    environment:
      LOG_LEVEL: info # change to debug for more verbose logging
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

Once started, all of your apps will now be connected on the same Docker network with DNS aliases for each service.

Technical Details

To facilitate inter-app communication, Dragonify creates a new Docker bridge network called apps-internal. It connects all existing TrueNAS-managed containers to the network, then starts listening for new containers to be started. When a new container is started, Dragonify will automatically connect it to the apps-internal network.

It is essentially running this command automatically for you (using postgres as an example):

docker network connect apps-internal --alias postgres.ix-postgres.svc.cluster.local ix-postgres-postgres-1

Build the Image

docker buildx build -t git.nixit.it/holden093/dragonify-ext:latest .
docker push git.nixit.it/holden093/dragonify-ext:latest

License

MIT