Syncthing Docker image for RaspberryPi / amd64 systems.
Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized.
See Syncthing website for more.
Tested on following archs:
- x64
Following arch are missing tests:
- arm32v6
- armv7
- nventiveux/syncthing
latest,v2.0.10(Dockerfile)
Run the container manually (select tag according to the target architecture):
{
mkdir -p "${HOME}/Sync";
docker run \
-d \
--name syncthing \
-p 8384:8384/tcp \
-p 22000:22000/tcp \
-p 21027:21027/udp \
-v syncthing_config:/etc/syncthing \
-v "${HOME}/Sync":/var/lib/syncthing \
nventiveux/syncthing:latest;
}Open the administration website with https://localhost:8384/ and connect using admin / admin.
This will make available for syncing all folders within ~/Sync. You may be interested to adapt environment variables SYNCTHING_USER_UID and SYNCTHING_GROUP_GID to match your user UID / GID at the host (verify with id).
Following paths within the container should be persisted:
/var/lib/syncthingholds synced content./etc/syncthingholds the syncthing configuration.
- Default ports:
21027/udp--> Local discovery (see Known issues)22000/tcp--> Sync protocol8384/tcp--> Admin interface
You can configure Syncthing injecting following environment variables:
| Variable | Description | Default |
|---|---|---|
| SYNCTHING_USER | Name of container user | syncthing |
| SYNCTHING_USER_UID | Map container user to this UID | 1000 |
| SYNCTHING_GROUP | Name of container user primary group | syncthing |
| SYNCTHING_GROUP_GID | Map container user primary group to this GID | 1000 |
| SYNCTHING_ADMIN_USER | Admin username | admin |
| SYNCTHING_ADMIN_PASSWORD | Admin password | admin |
Example to set another password for the admin user:
docker run \
...
-e SYNCTHING_ADMIN_PASSWORD="anotherpassword" \
...- Local discovery does not work without
--network=host. Need more testing if this can be avoided.
Pre-requisites:
- Python >=3.11
- Rye
- make
- Bash >=4
- Git >=2.18
Prepare your environment:
make installTweak Dockerfile to your convenience.
Note: if you are upgrading Syncthing to a newer version, also sync the config file version !
Commit changes and submit a Pull Request.
Bump the version using:
git switch -c release/next
make release version=<VERSION>
git commit -a -m "feat(core): bump syncthing to <VERSION>"
# Open a pull request
# Tests...Release:
uv run cz bump --changelog <VERSION>
git push origin -u --tags HEAD- Inspiration taken from tianon/dockerfiles.