How to set up subdomain for FlowForge Docker Compose instance

My goal: I want to run FlowForge using Docker Compose and use Device management to get remote access to the Node-RED flows running on the instance. I also have another dockerized container for another service that I would like to add to the mix in Docker Compose that can communicate to IoT devices on the network. For additional context, I’m wanting to run all of this on an Intel NUC mini-PC.

I’m attempting to following the installation instructions to get this installed, but I’m not familiar enough with DNS settings and networking to make sense of everything.

I have a domain that I purchased through Google Domains, and the instructions on the DNS Setup page seem to indicate I can use a subdomain that I already own, which is what I would like to do.

But I’m confused on what to do next. Do I need to assign a static IP address to the NUC running on my network in order to create a wild card entry pointing to it as described here?: https://flowforge.com/docs/install/dns-setup/#production

And if I want the wildcard pointed to a subdomain, would it look like *.mysub as an A record pointing to that static IP address?

Thanks for patience and any assistance!

Hello

These sound more like general questions about how to host services on a network rather than FlowForge specific questions but happy to give you some pointers. Do you have experience of hosting other services on your network, such as a web server?

Thanks, Rob. No, I have more experience using services on our network more than setting up the hosting of them. Admittedly, where I’m currently stuck has little to do with FlowForge, but that’s why I tried to clarify my ultimate goal.

Can I just check, are you using FlowForge Cloud to manage your instances or are you wanting to install your own instance of FlowForge on your NUC?

The instructions you sent suggest you want to run your own copy of FlowForge but your comments then suggest you just want to use the FlowForge device agent to run and manage Node-RED in docker?

I think that question highlights some of my confusion. I guess installing “FlowForge” using Docker Compose would be more like self-hosting FlowForge on my network instead of using the cloud offering. I suppose I thought that was necessary in order to have access to the Device Agent. Ultimately, I want to use the FlowForge Cloud offering with the Device Agent running inside a Docker Compose environment with Node-RED and other services.

With previous testing, I’ve been able to get Node-RED running in a Docker container alongside the other services, but I don’t want to SSH into the server running the Docker Compose environment if I can have more information about the Node-RED instance readily available in FlowForge Cloud.

That totally makes sense now, thanks for the details.

So, to run an instance of Node-RED in the FlowForge device agent you need to follow the steps set out here: Installation • FlowForge Docs

The specific command is

docker run --mount type=bind,src=/path/to/device.yml,target=/opt/flowforge-device/device.yml -p 1880:1880 flowforge/device-agent:latest

I’d suggest you try getting a single copy of Node-RED running in the device agent as a first step. Once you have that running the next step would be to work out how to allow Node-RED to communicate to the IOT devices, the two obvious ways to do that would be:

  1. Allow the two Docker containers to talk to each other so Node-RED can access the IOT data.
  2. Write a Dockerfile which brings up Node-RED and the IOT services in the same Docker container.

Option 1 is usually see as the best way as it keeps things tidier and allows you to use FlowForge’s own Dockerfile (so ongoing support and updates are easier).

Can you let me know how you get on with the getting the Docker device agent running please?

Could you also send me your FlowForge Cloud registered email address and team name, either via a direct message on here please so I can check your team’s configuration as needed?