Skip to main content

Container to Container Communication in TrueNAS 25.04

This guide details my experience with Docker networking on a self-hosted TrueNAS SCALE server (v25.04) and how I configured Nginx Proxy Manager to communicate directly with other application containers.

Introduction

In past projects using docker stack, I've always configured Nginx to proxy traffic to other containers within a shared Docker network. This is efficient and secure. When setting up my TrueNAS SCALE server, I wanted to replicate this pattern using Nginx Proxy Manager (NPM).

Dangers of using the ":latest" tag in Docker images

As a software engineer and DevOps practitioner, I've lived through my fair share of late-night production issues. One of the most frustrating incidents I ever dealt with can be traced back to a simple but dangerous habit: using the :latest tag in Docker images.

A story of "it worked fine… until it didn’t"

For over a year, everything was running smoothly. Our services were deployed regularly, infrastructure was automated, and we never gave much thought to the fact that our Dockerfiles often pointed to images like node:latest, redis:latest, and even our own internal project images built with latest. Our deployments were simple and reliable.

URLs as Information

This guide describes the ways URLs are used to convey information about the resources they lead to, with examples and diagrams developers are familiar with.

Introduction

URL is an acronym that stands for Uniform Resource Locator. To break down that phrase, consider each of its parts:

  • Uniform: URLs should all follow a similar pattern
  • Resource: What you get when you follow the URL, usually a file (image, video, text, etc.)
  • Locator: Tells you the location of the resource you're requesting

In its most basic form, URLs describe the location of any given file on your computer or on the internet. More or less, it's a map with directions on how to get to a file.