2018-04-09 01:48:37 -07:00
|
|
|
# Docker Container for Syncthing
|
|
|
|
|
|
|
|
Use the Dockerfile in this repo, or pull the `syncthing/syncthing` image
|
2019-02-25 13:37:59 -07:00
|
|
|
from Docker Hub.
|
2018-04-09 01:48:37 -07:00
|
|
|
|
2019-02-25 13:37:59 -07:00
|
|
|
Use the `/var/syncthing` volume to have the synchronized files available on the
|
|
|
|
host. You can add more folders and map them as you prefer.
|
2018-04-09 01:48:37 -07:00
|
|
|
|
2018-07-03 23:42:29 -07:00
|
|
|
Note that Syncthing runs as UID 1000 and GID 1000 by default. These may be
|
|
|
|
altered with the ``PUID`` and ``PGID`` environment variables.
|
2018-04-09 01:48:37 -07:00
|
|
|
|
2019-02-25 13:37:59 -07:00
|
|
|
## Example Usage
|
2018-04-09 01:48:37 -07:00
|
|
|
|
|
|
|
```
|
|
|
|
$ docker pull syncthing/syncthing
|
2021-03-30 23:57:46 -07:00
|
|
|
$ docker run --sysctl net.core.rmem_max=2097152 \
|
|
|
|
-p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp \
|
2018-04-09 01:48:37 -07:00
|
|
|
-v /wherever/st-sync:/var/syncthing \
|
|
|
|
syncthing/syncthing:latest
|
|
|
|
```
|
|
|
|
|
2019-09-22 03:33:29 -07:00
|
|
|
## Discovery
|
|
|
|
|
|
|
|
Note that local device discovery will not work with the above command,
|
|
|
|
resulting in poor local transfer rates if local device addresses are not
|
|
|
|
manually configured.
|
2018-04-09 01:48:37 -07:00
|
|
|
|
|
|
|
To allow local discovery, the docker host network can be used instead:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ docker pull syncthing/syncthing
|
|
|
|
$ docker run --network=host \
|
|
|
|
-v /wherever/st-sync:/var/syncthing \
|
|
|
|
syncthing/syncthing:latest
|
|
|
|
```
|
|
|
|
|
|
|
|
Be aware that syncthing alone is now in control of what interfaces and ports it
|
|
|
|
listens on. You can edit the syncthing configuration to change the defaults if
|
|
|
|
there are conflicts.
|
2019-09-22 03:33:29 -07:00
|
|
|
|
|
|
|
## GUI Security
|
|
|
|
|
|
|
|
By default Syncthing inside the Docker image listens on 0.0.0.0:8384 to
|
|
|
|
allow GUI connections via the Docker proxy. This is set by the
|
|
|
|
`STGUIADDRESS` environment variable in the Dockerfile, as it differs from
|
|
|
|
what Syncthing would otherwise use by default. This means you should set up
|
|
|
|
authentication in the GUI, like for any other externally reachable Syncthing
|
|
|
|
instance. If you do not require the GUI, or you use host networking, you can
|
|
|
|
unset the `STGUIADDRESS` variable to have Syncthing fall back to listening
|
|
|
|
on 127.0.0.1:
|
|
|
|
|
|
|
|
```
|
|
|
|
$ docker pull syncthing/syncthing
|
|
|
|
$ docker run -e STGUIADDRESS= \
|
|
|
|
-v /wherever/st-sync:/var/syncthing \
|
|
|
|
syncthing/syncthing:latest
|
|
|
|
```
|
|
|
|
|
|
|
|
With the environment variable unset Syncthing will follow what is set in the
|
|
|
|
configuration file / GUI settings dialog.
|