Can't move GUI to another port

I’m desperately trying to move Syncthing’s GUI to another port. But it seems like Syncthing is ignoring the value I enter in the “address” element in config.xml completely.

At the moment the element looks like this

         <address>0.0.0.0:18384</address>

So I would expect the GUI to bind to port 18384 on IPv4 only. But it still binds to 8384 on IPv4 and IPv6:

master_1  | [DVNHW] 08:41:17 INFO: GUI and API listening on [::]:8384
master_1  | [DVNHW] 08:41:17 INFO: Access the GUI via the following URL: http://127.0.0.1:8384/

The parent-element “gui” however is not ignored.

    <gui enabled="true" tls="false" debugging="true">
        <address>0.0.0.0:18384</address>
        <apikey>gKyEkvxoEcTR2YY4NKtDXz7ntFwfY5pn</apikey>
        <theme>default</theme>
    </gui>

Because when I set “enabled” to “false” the gui does not start and setting “tls” to enabled does indeed enable tls. Though setting “debugging” to “true” does nothing.

Am I doing something wrong?

Thanks in advance,

Sven

Are you using a wrapper (e.g. SyncTrayzor) or anything else which might be setting -gui-address?

No, I’m starting SyncThing via Docker though:

version: '3'
services:
  master:
    image: syncthing/syncthing
    network_mode: host
    volumes:
      - ./master/config:/var/syncthing/config
      - /tmp/syncthing/master:/var/syncthing

The docker file sets the GUI port to 8384. You can change it to your liking in the docker port forward though.

Damnit! I totally missed that parameter when checking out the Dockerfile. Thank you very much for you explaination!

What is the particular reason for this parameter? As it’s the standard value it seems kind of redundant to put it there. Also I’m a bit puzzled why the gui starts on IPv4 aswell as on IPv6 if the specified “gui-address” is “0.0.0.0:8384”.

With the default localhost-only listen address it’s not accessible by the Docker proxy, so you get no GUI. 0.0.0.0 including IPv6 is an artefact of how Go does dual stack bindings with unspecified addresses by default.

For the record: Adding

    entrypoint:
        - /syncthing/syncthing
        - -home
        - /var/syncthing/config

and so leaving out the gui-address-parameter helps.

The quirk was my “network_mode: host”. With this it’s okay to have the gui bind to 127.0.0.1, but it’s conflicting with the ports.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.