• Container Webui context menu IP/Port not updating when changes are made


    Magicaldave
    • Retest Minor

    Guess I'm coming back to re-report a five year old bug. I have the exact same issue as this

     

    Differences are mostly the version, but if it's important, my dockers are Adguard-Home and Trilium. The network is br0 for Adguard, and a custom one, "Homeproxy" for trilium.

     

    unRAID OS Version:6.8.3

     

    Description:  If you edit a container in advanced view and change the Webui field under Additional Fields, the changes are not reflected in the Webui context menu item you use to launch the application webpage.

     

    How to reproduce:  Add a new container and let it complete building.  Then edit the container and change the Webui field (I tried changing the port #) and save the container.  Once the container restarts, the Webui context menu icon will attempt to launch the container's webui using the old value.

     

    Expected results:  The Webui context menu should be updated to reflect the changes and launch the application's webui with the new values.

     

    Actual results:  The application is launched with the old webui value.

     

    Other information: Tried removing the container, then the container and the image, but was only able to resolve by deleting the container, image, and user template located at /boot/config/plugins/dockerMan .

     

    Interestingly enough, web ui changes worked completely as expected after doing this, but only for that specific docker. So my Adguard docker is fine now, but my second Trilium instance is not.

     

    I've left the trilium instance broken in case anyone wants some info from it. Of 9 containers I'm running, 7 never had this issue, but my second trilium instance and adguard both did. I'm installing quite a few more dockers over the next couple days so if I run across it for another container I'll mention it here. Diagnostics and screenshots of my current trilium addresses attached, and xml for the trilium instance below.

     

    <?xml version="1.0"?>
    <Container version="2">
      <Name>trilium-joran</Name>
      <Repository>bgameiro/trilium</Repository>
      <Registry>https://hub.docker.com/r/zadam/trilium</Registry>
      <Network>homeproxy</Network>
      <MyIP>172.18.0.9</MyIP>
      <Shell>sh</Shell>
      <Privileged>false</Privileged>
      <Support>https://forums.unraid.net/topic/94979-trilium-docker/</Support>
      <Project>https://github.com/zadam/trilium</Project>
      <Overview>Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases>
      [br][br]
      [b][u][span style='color: #E80000;']Links[/span][/u][/b][br]
      [b]Repository:[/b] https://github.com/zadam/trilium[br]
      [b]Wiki:[/b] https://github.com/zadam/trilium/wiki[br]
      [b]Docker:[/b] https://hub.docker.com/r/zadam/trilium[br]
      [br][br]
      [b][u][span style='color: #E80000;']Configuration[/span][/u][/b][br]
      [b]/root/trilium-data[/b] Where Trilium should store logs, databases and configuration[br]
      [b]/root/trilium-data/backup[/b] Where Trilium should store the backups[br]</Overview>
      <Category>Productivity: Tools:Utilities</Category>
      <WebUI>redacted.duckdns.org/</WebUI>
      <TemplateURL>https://raw.githubusercontent.com/BGameiro2000/unraid-ca/master/trilium/trilium.xml</TemplateURL>
      <Icon>https://raw.githubusercontent.com/BGameiro2000/unraid-ca/master/trilium/icon.png</Icon>
      <ExtraParams/>
      <PostArgs/>
      <CPUset/>
      <DateInstalled>1603742480</DateInstalled>
      <DonateText/>
      <DonateLink>https://bgameiro.me/page/donate</DonateLink>
      <Description>Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge ba>
      [br][br]
      [b][u][span style='color: #E80000;']Links[/span][/u][/b][br]
      [b]Repository:[/b] https://github.com/zadam/trilium[br]
      [b]Wiki:[/b] https://github.com/zadam/trilium/wiki[br]
      [b]Docker:[/b] https://hub.docker.com/r/zadam/trilium[br]
      [br][br]
      [b][u][span style='color: #E80000;']Configuration[/span][/u][/b][br]
      [b]/root/trilium-data[/b] Where Trilium should store logs, databases and configuration[br]
      [b]/root/trilium-data/backup[/b] Where Trilium should store the backups[br]</Description>
      <Networking>
        <Mode>homeproxy</Mode>
        <Publish>
          <Port>
            <HostPort>8889</HostPort>
            <ContainerPort>8080</ContainerPort>
            <Protocol>tcp</Protocol>
          </Port>
        </Publish>
      </Networking>
      <Data>
        <Volume>
          <HostDir>/mnt/user/appdata/trilium</HostDir>
          <ContainerDir>/root/trilium-data</ContainerDir>
          <Mode>rw</Mode>
        </Volume>
        <Volume>
          <HostDir>/mnt/user/appdata/trilium/backup</HostDir>
          <ContainerDir>/root/trilium-data/backup</ContainerDir>
          <Mode>rw</Mode>
        </Volume>
      </Data>
      <Environment/>
      <Labels/>
      <Config Name="WebUI" Target="8080" Default="8080" Mode="tcp" Description="WebUI - Default 8888" Type="Port" Display="al>
      <Config Name="Appdata" Target="/root/trilium-data" Default="/mnt/user/appdata/trilium" Mode="rw" Description="Container>
      <Config Name="Backups" Target="/root/trilium-data/backup" Default="/mnt/user/appdata/trilium/backup" Mode="rw" Descript>
    </Container>

     

     

     

    last-giant-diagnostics-20201026-1428.zip

    Edited by Squid
    Removed text / images that showed a reverse proxy DNS




    User Feedback

    Recommended Comments

    Tested this on 6.9 Beta 30 (ish) and it works perfectly.   Looks like you've done two things here

     

    The template shows 

     

      <WebUI>redacted.duckdns.org/</WebUI>

    and the applicable config line shows 

     

      <Config Name="WebUI" Target="8080" Default="8080" Mode="tcp" Description="WebUI - Default 8888" Type="Port" Display="al>

    Now, the complete line isn't there (you've cut off the end of it), but what you did is that at some point, you edited the app, switched to advanced view, and then edited that URL to be what you've got above.

     

    You can change the port all day long when you edit the Port, but because the actual URL you've changed previously to the duckdns address doesn't include a reference to either the IP or the Port, nothing is ever going to happen.

     

    The appropriate line for WebUI is

     

    http://[IP]:[PORT:8080]

    Set up like that, the system will properly adjust the webUI in the drop down to reflect the IP address and the Port number you've selected.

     

    or, if you want it to go to a particular reverse proxy, then

    http://redacted.duckdns.com:[PORT:8080]

    Note that the 8080 IS correct in the above lines, regardless of whatever you change the port to be.  It refers to the CONTAINER port, and when changing the port mapping you're adjust the host port.

    Link to comment

    Hey Squid! First off, thanks for you reply and for keeping my information private. I actually ran across this problem because I nixed the domain name you redacted and was moving my containers to another.

     

    Reading your post, it seems like the idea here is that my values aren't configured properly for WebUI?

     

    I have two trilium instances, one that doesn't do this and one that does, so it was pretty trivial to to test.

    "trilium" works, "trilium-joran" doesn't.

    On trilium, I changed the WebUI values to:

     

    https://[IP]:[PORT:8080] , this became 192.168.2.68:8888 in webUI 

     

    http://redacted.duckdns.com:[PORT:8080] , became http://redacted.duckdns.com as expected (wanted to try one that shouldn't work at all) 

     

    and finally https://trilium.myCURRENTdomainname.duckdns.org > mapped to https://trilium.myCURRENTdomainname.duckdns.org just like I wanted. My other working containers function like this too.

     

    On trilium-joran I changed it to:

    http://[IP]:[PORT:8080] is still showing https://trilium.domain.you.redacted.duckdns.org

     

    http://redacted.duckdns.com:[PORT:8080] is above.

     

    https://trilium.myCURRENTdomainname.duckdns.org is above.

     

    Something weird happened when I tried remove the port mapping, too. Since I didn't need it on Trilium to access through a reverse proxy, I removed the port mapping which unexpectedly removed the WebUI option from the Docker page altogether. So when I tried to access Trilium from there it only showed Console and the rest of the usual options. Opening it via the domain name I'm using was a-okay.

     

    I got confused and the XML looked good so I re-added the port mapping. Not only did the WebUI option come back for Trilium, it also set Trilium-Joran to the exact same Web UI address as Trilium.

     

    So now, I've got

     

    Trilium: XML is https://myCURRENTdomainname.duckdns.org > WebUI shows https://myCURRENTdomainname.duckdns.org

     

    Trilium-Joran: XML is https://[IP]:[PORT:8080] > WebUI shows https://myCURRENTdomainname.duckdns.org

     

    Neither container has changed behavior otherwise, Trilium will make the web address whatever I please, but trilium-joran's can only be updated by removing all port mappings for one, which removes the web ui option completely for that specific container, and then adding one back in, which forces the address for both containers to the one that had its port mapping removed and re-added. 

     

    Funky.

     

    I also have at least one other fully functional behind my reverse proxy set up with a similar subdomain scheme at https://git.myCURRENTdomainname.duckdns.org which I can change to whatever. 

    Edited by Magicaldave
    Link to comment

    I don't run custom networks, but on your Adguard (br0), there is no port mapping at all, so the [IP]:[PORT:8080] will always resolve as [IP]:8080 regardless if you change the port mapping (since port mappings are ignored).

     

    I've tested simply changing the WebUI entry, and it does pick up changes no problems on br0 (6.9.0-beta31)

    Link to comment

    The host port mappings aren’t being used at all for most of my dockers at the moment, that’s part of how I arrived at the issue in the first place. It’s just that the GUI link to my docker isn’t changing to what it’s set to in the XML. 

     

    I found a weird sort of workaround in the process of removing the port mapping, but that itself was problematic since no ports mapped to host means no webGUI option anyway. So I guess my real solution is gonna be to add the webpages to unRAID using a plug-in. 
     

    not that it’s a big deal anyway, but annoying to have to delete the template for some containers in order to get the address to match what it already is in XML. Seems like a defect somewhere. 
     

    I’ll check perms on the template files when I regenerate them and see if it makes a difference. 

    Link to comment


    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Restore formatting

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


  • Status Definitions

     

    Open = Under consideration.

     

    Solved = The issue has been resolved.

     

    Solved version = The issue has been resolved in the indicated release version.

     

    Closed = Feedback or opinion better posted on our forum for discussion. Also for reports we cannot reproduce or need more information. In this case just add a comment and we will review it again.

     

    Retest = Please retest in latest release.


    Priority Definitions

     

    Minor = Something not working correctly.

     

    Urgent = Server crash, data loss, or other showstopper.

     

    Annoyance = Doesn't affect functionality but should be fixed.

     

    Other = Announcement or other non-issue.