elmerfds / rebuild-dndc

Re-create containers that use another container's network stack (i.e. routing container traffic through a VPN container)
GNU General Public License v3.0
22 stars 9 forks source link

Rebuild does not work #56

Closed soonic6 closed 1 year ago

soonic6 commented 2 years ago

Hello,

today i saw, that the Container rebuild doen't work anymore.

Log:

---------------------------------
Rebuild-DNDC v4.0.7-u
---------------------------------

-----------------------------------------------------------------------------------
# MASTER CONTAINER INFO
- CONTAINER-NAME: passthroughvpn
- ENDPOINT-ID: 4721ba2e3ae793e48a9e53886f38b309f4d3a5de6850089e65c250fffa4e85c1
- NETMODE-ID: 1d88fe22a4a1726626e1021d2e1ecfd437ba79bc6967d30a69ce538ba4b22aa4
- CONNECTIVITY: OK
-----------------------------------------------------------------------------------

A. SKIPPING: FIRST RUN SETUP
B. ALERT: MASTER container ENDPOINTID DOESN'T MATCH
- REBUILDING: passthroughvpn container ENDPOINTID DOESN'T MATCH

C. DETECTING: IN-SCOPE CONTAINERS

1.PhoenixStats_domi2-trm_test
- ContainerID b3b58cfc92f1
- NetworkID: 1d88fe22a4a1726626e1021d2e1ecfd437ba79bc6967d30a69ce538ba4b22aa4
- Template Location: /config/docker-templates/my-PhoenixStats_domi2-trm_test.xml

D. PROCESSING: IN-SCOPE CONTAINERS

----------------------------
Stopping: PhoenixStats_domi2-trm_test
----------------------------

D. PROCESSING: IN-SCOPE CONTAINERS

----------------------------
Stopping: PhoenixStats_domi2-trm_test
----------------------------

PhoenixStats_domi2-trm_test

----------------------------
Removing: PhoenixStats_domi2-trm_test
----------------------------

PhoenixStats_domi2-trm_test

----------------------------
Recreating: PhoenixStats_domi2-trm_test
----------------------------

Name: PhoenixStats_domi2-trm_test
Found Net: --net=""
Found TimeZone: -e TZ="Europe/Berlin"
Found Repo: lnxd/phoenixstats
/usr/bin/docker run -d --name="PhoenixStats_domi2-trm_test" --net="" -e TZ="Europe/Berlin" lnxd/phoenixstats
/usr/bin/docker: no name set for network.
See '/usr/bin/docker run --help'.
Command was: /usr/bin/docker run -d --name="PhoenixStats_domi2-trm_test" --net="" -e TZ="Europe/Berlin" lnxd/phoenixstats
Note this script does not parse xml encoded strings correctly (like ø), which may cause docker to fail.

F. REBUILD: STATUS
- Completed: PhoenixStats_domi2-trm_test

--------------------------------------------
Run Completed: Sun Sep 19 10:47:14 CEST 2021
--------------------------------------------

- Starting CRON service now...
PhoenixStats_domi2-trm_test

----------------------------
Removing: PhoenixStats_domi2-trm_test
----------------------------

PhoenixStats_domi2-trm_test

----------------------------
Recreating: PhoenixStats_domi2-trm_test
----------------------------

Name: PhoenixStats_domi2-trm_test
Found Net: --net=""
Found TimeZone: -e TZ="Europe/Berlin"
Found Repo: lnxd/phoenixstats
/usr/bin/docker run -d --name="PhoenixStats_domi2-trm_test" --net="" -e TZ="Europe/Berlin" lnxd/phoenixstats
/usr/bin/docker: no name set for network.
See '/usr/bin/docker run --help'.
Command was: /usr/bin/docker run -d --name="PhoenixStats_domi2-trm_test" --net="" -e TZ="Europe/Berlin" lnxd/phoenixstats
Note this script does not parse xml encoded strings correctly (like ø), which may cause docker to fail.

F. REBUILD: STATUS
- Completed: PhoenixStats_domi2-trm_test

--------------------------------------------
Run Completed: Sun Sep 19 10:47:14 CEST 2021
--------------------------------------------

- Starting CRON service now...

I tested unraid-m, unraid-d and unraid-e, with some other containers. Same problem with unsing --net= in extra parameters

Unraid Version 6.10.0-RC2d and RC2e

EdwinKlemann commented 2 years ago

have the same issue with my hotio/qbittorrent docker

It looks like in Unraid 6.10-RC2 the networking/mode is deleted from the XML after editing docker settings.

following section is missing

Networking Mode container:containername /Mode /Networking

EdwinKlemann commented 2 years ago

From the UnRAID 6.10-RC2 Release Notes

webgui: Docker: Only save templates as v2

ps-kl commented 2 years ago

same Problem here.

From the UnRAID 6.10-RC2 Release Notes

webgui: Docker: Only save templates as v2

So its a UnRAID 6.10-RC2 thing?

EdwinKlemann commented 2 years ago

Looks like from 6.10RC2 onwards docker templates are saved in v2 format. If you edit / change the template to suit your needs. Somehow your script can’t interpret the right values to rebuild the docker.


Van: paskalll @.> Verzonden: Wednesday, February 2, 2022 5:34:13 PM Aan: elmerfdz/rebuild-dndc @.> CC: EdwinKlemann @.>; Comment @.> Onderwerp: Re: [elmerfdz/rebuild-dndc] Rebuild does not work (#56)

same Problem here.

From the UnRAID 6.10-RC2 Release Notes

webgui: Docker: Only save templates as v2

So its a UnRAID 6.10-RC2 thing?

— Reply to this email directly, view it on GitHubhttps://github.com/elmerfdz/rebuild-dndc/issues/56#issuecomment-1028125202, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABYDFEFCOPYMZDG34PEEFH3UZFMILANCNFSM5EKEGRZQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you commented.Message ID: @.***>

knaackville commented 2 years ago

Seems like this is an issue with 6.10+ final as well (currently on 6.10.2). Would your script be modifiable to address the new changes?

elmerfds commented 2 years ago

@EdwinKlemann @knaackville @soonic6 @paskalll Long story short, I won't be having access to my Unraid server until later this year. I've merged @DiamondPrecisionComputing 's pull request, which hopefully solves this issue, could you guys please pull and test?

soonic6 commented 2 years ago

@elmerfdz does not work for me.

----------------------------------------------------

██████╗ ██████╗ ███╗   ██╗██████╗  ██████╗
██╔══██╗██╔══██╗████╗  ██║██╔══██╗██╔════╝
██████╔╝██║  ██║██╔██╗ ██║██║  ██║██║
██╔══██╗██║  ██║██║╚██╗██║██║  ██║██║
██║  ██║██████╔╝██║ ╚████║██████╔╝╚██████╗

Author: https://github.com/elmerfdz
Support: https://github.com/elmerfdz/unRAIDscripts
----------------------------------------------------
[------------------ CONFIG CHECK ------------------]

- Discord webhook not set
- Discord notifications disabled
- Master container name set: openvpn-client
- Ping count specified: 4
- Ping IP specified: 8.8.8.8
- Ping IP alt set: 1.1.1.1
- Master container connectivity check enabled
- Sleep secs set: 10
- CRON schedule set: */5 * * * *
- Save no of master cotnainer IDs, default - 5
- No containers set for manual run
- Run at startup: yes
- CRON job has been set
- Running at startup now...

---------------------------------
    Rebuild-DNDC v4.0.7-u
---------------------------------

-----------------------------------------------------------------------------------
 # MASTER CONTAINER INFO
 - CONTAINER-NAME: openvpn-client
 - ENDPOINT-ID: 
 - NETMODE-ID: 8f23742e10a9ac3b201e92cd0d90e42118d6d535ac8d09cebc3d57c32ff174d8
 - CONNECTIVITY: BROKEN
 ---- restarting openvpn-client container
 ---- openvpn-client restarted
 ---- going to sleep for 10 seconds
-----------------------------------------------------------------------------------

A. SKIPPING: FIRST RUN SETUP
B. SKIPPING: MASTER CONTAINER ENDPOINTID IS CURRENT
C. DETECTING: IN-SCOPE CONTAINERS

 1.SABnzbd
  - ContainerID d6ed6b7e4b20
  - NetworkID: 8f23742e10a9ac3b201e92cd0d90e42118d6d535ac8d09cebc3d57c32ff174d8
  - Template Location: /config/docker-templates/my-SABnzbd.xml

D. PROCESSING: IN-SCOPE CONTAINERS

 - SKIPPING: SABnzbd NETID = MASTER NETID

--------------------------------------------
Run Completed: Thu Jun 16 08:49:41 CEST 2022  
--------------------------------------------

- Starting CRON service now...

---------------------------------
    Rebuild-DNDC v4.0.7-u
---------------------------------

-----------------------------------------------------------------------------------
 # MASTER CONTAINER INFO
 - CONTAINER-NAME: openvpn-client
 - ENDPOINT-ID: 
 - NETMODE-ID: 8f23742e10a9ac3b201e92cd0d90e42118d6d535ac8d09cebc3d57c32ff174d8
 - CONNECTIVITY: BROKEN
 ---- restarting openvpn-client container
 ---- openvpn-client restarted
 ---- going to sleep for 10 seconds
-----------------------------------------------------------------------------------

A. SKIPPING: FIRST RUN SETUP
B. SKIPPING: MASTER CONTAINER ENDPOINTID IS CURRENT
C. DETECTING: IN-SCOPE CONTAINERS

 1.SABnzbd
  - ContainerID d6ed6b7e4b20
  - NetworkID: 8f23742e10a9ac3b201e92cd0d90e42118d6d535ac8d09cebc3d57c32ff174d8
  - Template Location: /config/docker-templates/my-SABnzbd.xml

D. PROCESSING: IN-SCOPE CONTAINERS

 - SKIPPING: SABnzbd NETID = MASTER NETID

--------------------------------------------
Run Completed: Thu Jun 16 08:50:00 CEST 2022  
--------------------------------------------

---------------------------------

VPN Container will be detected as "broken" every scan and the slave wont be rebuild.

DiamondPrecisionComputing commented 2 years ago

@soonic6 I'm assuming you are using ich777's OpenVPN-Client. Did you reame the container to all under case letters? The docker exec command used to check network connectivity is case sensitive.

soonic6 commented 2 years ago

you are using ich777's OpenVPN-Client. Did you reame the container to all under case letters?

yes i do and i renamed the container before unsing it. this was working before unraid 6.10.x i the meantime i switched over to a script for restarting container, but i would prefer the container.

elmerfds commented 2 years ago

@soonic6 for now disable the master container connectivity check by adding an env variable to the rebuild-dndc container mastercontconcheck=no can't remember if this option is already available on the default Unraid app store template, if not please add that.

I'm wondering if iputils-ping is not installed on ich777's OpenVPN-Client container.

Try the following: SSH into rebuild-dndc container and run the following command docker exec openvpn-client ping -c 4 1.1.1.1

Check if the above command works, if it doesn't, also double check by SSH directly into your 'openvpn-client' container and do a ping: ping -c 4 1.1.1.1

soonic6 commented 2 years ago

I'm wondering if iputils-ping is not installed on ich777's OpenVPN-Client container.

you are right, "ping" is not installed on ich777's container. i will ask him, if he can add this.

edit: mastercontconcheck=no was already available on the unraid template.

elmerfds commented 2 years ago

Cool!

You've got couple of options:

  1. As you said get ich777 to add ping
  2. Leave 'mastercontconcheck' disabled, downside is if openvpn-client container ever loses connection and can't be fixed until it's rebooted then manual intervention is required.
  3. If you want to keep using 'mastercontconcheck=yes', until ich777 adds ping, you can disable auto-update for that container and SSH into the openvpn-client container and manually install ping 'apt-get install iputils-ping -y'. It should continue to work as long as you don't delete/update that image.
soonic6 commented 2 years ago

@elmerfdz

  1. As you said get ich777 to add ping

He added ping to his container. i tried docker exec openvpn-client ping -c 4 1.1.1.1 and it works. But the "slave" container still won't rebuild. Also the different NETID's from Master and Slave won't be detected:

---------------------------------
    Rebuild-DNDC v4.0.7-u
---------------------------------

-----------------------------------------------------------------------------------
 # MASTER CONTAINER INFO
 - CONTAINER-NAME: openvpn-client
 - ENDPOINT-ID: 
 - NETMODE-ID: 303f525d34dfc9f3f52b1ceaae4035e6fdb0fcc888a94a24d357b8512f07ceb7
 - CONNECTIVITY: OK
-----------------------------------------------------------------------------------

A. SKIPPING: FIRST RUN SETUP
B. SKIPPING: MASTER CONTAINER ENDPOINTID IS CURRENT
C. DETECTING: IN-SCOPE CONTAINERS

# RESULTS: None in-scope, checking for previous in-scope containers

D. PROCESSING: IN-SCOPE CONTAINERS

 - SKIPPING: SABnzbd NETID = MASTER NETID

--------------------------------------------
Run Completed: Fri Jun 17 09:05:00 CEST 2022  
--------------------------------------------

Before the "Scan" i restarted openvpn-client container to force a new NETID.

The ENDPOINT-ID is still missing.

jimmy1970 commented 2 years ago

Issue remains, containers are not being rebuilt.

carlocgc commented 1 year ago

Seeing the same issue, containers wont be rebuilt.

today at 12:47:32---------------------------------
today at 12:47:32    Rebuild-DNDC v4.0.7-u
today at 12:47:32---------------------------------
today at 12:47:32
today at 12:47:32-----------------------------------------------------------------------------------
today at 12:47:32 # MASTER CONTAINER INFO
today at 12:47:32 - CONTAINER-NAME: transmission-openvpn
today at 12:47:32 - ENDPOINT-ID: 
today at 12:47:32 - NETMODE-ID: 7be34034e2761c305253ba505fe71a72103fdf210419a249c32230800b4a0adf
today at 12:47:35 - CONNECTIVITY: OK
today at 12:47:35-----------------------------------------------------------------------------------
today at 12:47:35
today at 12:47:35A. SKIPPING: FIRST RUN SETUP
today at 12:47:35B. SKIPPING: MASTER CONTAINER ENDPOINTID IS CURRENT
today at 12:47:35C. DETECTING: IN-SCOPE CONTAINERS
today at 12:47:35
today at 12:47:35 1.sabnzbd
today at 12:47:35  - ContainerID c7e8b920be56
today at 12:47:35  - NetworkID: 7be34034e2761c305253ba505fe71a72103fdf210419a249c32230800b4a0adf
today at 12:47:35  - Template Location: /config/docker-templates/my-sabnzbd.xml
today at 12:47:35
today at 12:47:35 2.JDownloader2
today at 12:47:35  - ContainerID 095425adb8c2
today at 12:47:35  - NetworkID: 7be34034e2761c305253ba505fe71a72103fdf210419a249c32230800b4a0adf
today at 12:47:35  - Template Location: /config/docker-templates/my-JDownloader2.xml
today at 12:47:35
today at 12:47:35 3.prowlarr
today at 12:47:35  - ContainerID 276591c92e24
today at 12:47:35  - NetworkID: 7be34034e2761c305253ba505fe71a72103fdf210419a249c32230800b4a0adf
today at 12:47:35  - Template Location: /config/docker-templates/my-prowlarr.xml
today at 12:47:35
today at 12:47:38D. PROCESSING: IN-SCOPE CONTAINERS
today at 12:47:38
today at 12:47:38 - SKIPPING: sabnzbd NETID = MASTER NETID
today at 12:47:38 - SKIPPING: JDownloader2 NETID = MASTER NETID
today at 12:47:38 - SKIPPING: prowlarr NETID = MASTER NETID
ste7enm commented 1 year ago

Has anyone figured out a way around this or an alternative with 6.10+? Is this (v2 change) the root cause of issue #59 as well?

Phil-Barker commented 1 year ago

The v2 change was the root cause of that issue also. It might be worth retrying now that I've updated the script to work with the V2 config

ste7enm commented 1 year ago

The v2 change was the root cause of that issue also. It might be worth retrying now that I've updated the script to work with the V2 config

Hm. Updated then ran the new version of rebuild-dndc and it created orphaned images of all of the dependent dockers.

Possibly due to this error:

/usr/bin/docker: Error response from daemon: Container cannot be connected to network endpoints: container:nzbgetvpn, none.

elmerfds commented 1 year ago

Is your ‘nzbgetvpn’ container up and running? Check if your vpn container name matches what you’ve set on your dependent container templates

ste7enm commented 1 year ago

Is your ‘nzbgetvpn’ container up and running? Check if your vpn container name matches what you’ve set on your dependent container templates

Yes, it was running (and is still running) and is set as the master container in rebuild-dndc. The dockers all function and build normally when doing it manually; just rebuilt them manually again without issue. Seems like it might not like if you set your children dockers up using --net=container:parentdockername in the extra parameters field with 'none' selected as network type? 🤔

elmerfds commented 1 year ago

Oh think you’re right about building dependent containers using --net=container:parentdockername. Feel like I remember seeing something about that. I don’t have access to my server yet to look into this, so hoping @Phil-Barker might look at this issue for you

elmerfds commented 1 year ago

@ste7enm remove --net=container:parentdockername. from extra parameter on your dependent containers and use the following steps from the prerequisites (I.e NOT the alternate steps)

  1. Now edit a container you want to add to the master container network stack
  2. You should see the created network (step 2) under 'network type', select that & click 'apply'.

https://github.com/elmerfdz/rebuild-dndc#prerequisites

see if linking them using the above method makes any difference.

ste7enm commented 1 year ago

Thanks, @elmerfdz – I can't remember why I'd swapped container network type, but I swapped back (like you recommended) and rebuild-dndc ran without issue. Will leave it running for a few days and post again if there are any v2 issues when it actually needs to rebuild.

Appreciate the docker update from Sat / Sun, @Phil-Barker. Was really missing this docker / feeling the pain of not having it.

ps-kl commented 1 year ago

Its working great work thx.

But now i am struggling with an old Problem. I have two instances of Radarr and Sonarr from the same image. And it's only rebuilding one because radarr already exists. Can I resolve this problem somehow?

nickydd9 commented 9 months ago

Is this an issue again? I am using gluetun with qbittorent passed through it. I have made sure master container (gluetun) is all lower case letters and have used the method of creating a custom docker network instead of "--network:container:gluetun".

When I stop the gluetun container it seems on the next run of rebuild-dndc it just skips the dependent container.

image

Phil-Barker commented 9 months ago

I haven't seen any issues with this all year...

---------------------------------
    Rebuild-DNDC v4.0.7-u
---------------------------------

-----------------------------------------------------------------------------------
 # MASTER CONTAINER INFO
 - CONTAINER-NAME: binhex-qbittorrentvpn
 - ENDPOINT-ID: 19863a1fc0a88f6fbff3f04ab9a657b8cc4c95e5b1926394bd2b9f524a993c2f
 - NETMODE-ID: f46a60647b3aeecf5b36ca52ede01a18ce92ac2d785302f344454827e0702536
 - CONNECTIVITY: OK
-----------------------------------------------------------------------------------

A. SKIPPING: FIRST RUN SETUP
B. SKIPPING: MASTER CONTAINER ENDPOINTID IS CURRENT
C. DETECTING: IN-SCOPE CONTAINERS

 1.binhex-jackett
  - ContainerID 95129f20820b
  - NetworkID: f46a60647b3aeecf5b36ca52ede01a18ce92ac2d785302f344454827e0702536
  - Template Location: /config/docker-templates/my-binhex-jackett.xml

 2.sonarr
  - ContainerID a6ec2437d527
  - NetworkID: f46a60647b3aeecf5b36ca52ede01a18ce92ac2d785302f344454827e0702536
  - Template Location: /config/docker-templates/my-sonarr.xml

 3.bazarr
  - ContainerID 3e2b57533493
  - NetworkID: f46a60647b3aeecf5b36ca52ede01a18ce92ac2d785302f344454827e0702536
  - Template Location: /config/docker-templates/my-bazarr.xml

 4.radarr
  - ContainerID 70b632ca4796
  - NetworkID: f46a60647b3aeecf5b36ca52ede01a18ce92ac2d785302f344454827e0702536
  - Template Location: /config/docker-templates/my-radarr.xml

 5.binhex-prowlarr
  - ContainerID 3da20321f4ff
  - NetworkID: f46a60647b3aeecf5b36ca52ede01a18ce92ac2d785302f344454827e0702536
  - Template Location: /config/docker-templates/my-binhex-prowlarr.xml

 6.binhex-lidarr
  - ContainerID cd138bfe56b4
  - NetworkID: f46a60647b3aeecf5b36ca52ede01a18ce92ac2d785302f344454827e0702536
  - Template Location: /config/docker-templates/my-binhex-lidarr.xml

 7.binhex-readarr
  - ContainerID 708c0b77074d
  - NetworkID: f46a60647b3aeecf5b36ca52ede01a18ce92ac2d785302f344454827e0702536
  - Template Location: /config/docker-templates/my-binhex-readarr.xml

D. PROCESSING: IN-SCOPE CONTAINERS

 - SKIPPING: binhex-jackett NETID = MASTER NETID
 - SKIPPING: sonarr NETID = MASTER NETID
 - SKIPPING: bazarr NETID = MASTER NETID
 - SKIPPING: radarr NETID = MASTER NETID
 - SKIPPING: binhex-prowlarr NETID = MASTER NETID
 - SKIPPING: binhex-lidarr NETID = MASTER NETID
 - SKIPPING: binhex-readarr NETID = MASTER NETID

--------------------------------------------
Run Completed: Sun Nov 26 18:10:00 GMT 2023  
--------------------------------------------

But then I don't run gluetun

Where yours is outputting CONNECTIVIY: BROKEN though indicates that the script can't ping the internet through your gluetun container, meaning it has no external connectivity.

I believe by default it pings 1.1.1.1 and 8.8.8.8 which from memory are cloudflare and google DNS servers.... so you might want to start by connecting into the gluetun container and confirming it has internet connectivity :)

ps-kl commented 9 months ago

Can't imagine that but you can test it when you bin/bash into the gluten container and try to ping 1.1.1.1

Check https://github.com/elmerfdz/rebuild-dndc/issues/52

Known behaviour is a restart loop of all containers.

I guess it's something else. Would be helpful if you post your dockerfile or what ever

And why are you even ask here ?

This issue has nothing to do with your problem. Check the op log and your log. Completely different man

nickydd9 commented 9 months ago

@soonic6's issue on Jun 17, 2022 is the same as mine, where the endpointID is not being detected. So yes not the same issue as the original post, but it was an issue in this thread.

Anyway I won't worry about this. I'm running Unraid and using ProtonVPN so I needed an easy way for the dynamic forwarded port to be overwritten in qbittorrent and there is no easy Unraid community app to do it without me doing anything custom. So I've moved from Gluetun to just directly using binhex-qbittorrentvpn which has all the functionality packed in to one container. I don't really have any dependent containers to worry about at this point

Phil-Barker commented 9 months ago

the binhex containers are really good - as you can see on my setup I use qbittorrentvpn with all of the *arr routed through it. Works flawlessly

elmerfds commented 9 months ago

I'm running the latest build of gluetun (for Mullvad) on Unraid 6.11.5 and there's no issues detecting connectivity, so not quite sure what's different with @nickydd9 's setup.

nickydd9 commented 9 months ago

I think I figured out what my issue was. I think I misunderstood what rebuild-dndc is supposed to do. What I was testing was specifically STOPPING the VPN container, and was then hoping once it was stopped that it would be restarted along with the other dependent containers rebuilt and started. When I would stop the VPN container is when it would then show "broken". I don't think that is what this is meant to do though right?

Honestly not really sure what the point of rebuild-dndc is.... looking at this thread functionality was added natively to Unraid to rebuild dependent containers when the master VPN container is rebuilt or updated, and that's working for me:

https://forums.unraid.net/topic/84167-better-handling-of-to-container-docker-network-binding/

Phil-Barker commented 9 months ago

@nickydd9 no that's not the purpose. The purpose is that when the master container that the others are routed through restarts, this goes through the child containers and ensures the network link is correct.

The thread you linked on the unraid forum just states to use this app as a solution, there is no native support in unraid. So not sure what you mean there?

If you just want the gluetun container to always restart if it crashes just tick the autostart option in Unraid. But this is wandering well out of scope of this bug 😄

nickydd9 commented 9 months ago

@Phil-Barker sure but in that unraid forum I linked it clearly mentions that when you rebuild/update the VPN master container, any dependent containers are automatically rebuilt along with it. That was the functionality they say was added and that is confirmed working for me.

So the only real use case for rebuild-dndc then would simply just be if you restarted (but not rebuilt) the VPN master container because now you severed the dependent containers right?

I get what you mean about if the VPN master container actually is completely crashed, thats a whole separate deal then. My bad on that.

elmerfds commented 9 months ago

@nickydd9 see some of my (user: eafx) comments on that thread. Rebuild-DNDC was created before Unraid had any sort of native support for what Rebuild-DNDC is/was intended to do.

Last when I checked i.e. when that linked thread was created, there was a lot of manual intervention required for Unraid to rebuild dependent containers, examples:

Not sure if any of the above has changed in the latest Unraid builds but was true back then.

@Phil-Barker thanks! once again for your help.

nickydd9 commented 9 months ago

@elmerfdz you do not have to click the docker page anymore, it just auto-rebuilds them.

If my master container loses VPN e.g. let's say I completely unplug the uplink cable on my router leading to my ISP modem, and then reinsert it the dependent containers are not impacted, they still work and regain connectivity.

However the one branch case is what @Phil-Barker described in which if the master VPN container is restarted (not rebuilt) then it does then sever the dependent containers. And that's where rebuild-dndc might still be useful.

ste7enm commented 9 months ago

@ste7enm remove --net=container:parentdockername. from extra parameter on your dependent containers and use the following steps from the prerequisites (I.e NOT the alternate steps)

  1. Now edit a container you want to add to the master container network stack
  2. You should see the created network (step 2) under 'network type', select that & click 'apply'.

https://github.com/elmerfdz/rebuild-dndc#prerequisites

see if linking them using the above method makes any difference.

FWIW since I'm getting notifications about this thread's activity, I swapped master containers recently and went back to using the --net=container:[container-name] format for my child containers (7 of them) and Rebuild-DNDC (unraid-m) continues to work swimmingly, so that's a bonus (in case someone happens upon this thread later and is reading our troubleshooting above).