Sign inSign up

t4skforce/syncthing-relay-discovery

By t4skforce

•Updated over 1 year ago

Syncthing discovery and relay server Docker image for http://syncthing.net/

Image
5

1M+

t4skforce/syncthing-relay-discovery repository overview

⁠syncthing-relay-discovery

Docker Container for the global relay server for the http://syncthing.net/⁠ project. I build the container because there was no official one. This build is listening on the gihub project of the relay server and gets updated whenever there is a code change. relaysrv GitHub repo⁠ and dicosrv GitHub repo⁠. The container is intended for people who like to roll their own private syncthing "cloud".

The files for this container can be found at my GitHub repo⁠

dockeri.co

⁠About the Container

This build is based on debian:latest⁠ and installs the latests successful build of the syncthing relay and discovery server.

⁠How to use this image

docker run --name syncthing-relay -d -p 22067:22067 --restart=always t4skforce/syncthing-relay-discovery:latest

This will store the certificates and all of the data in /home/syncthing/. You will probably want to make at least the certificate folder a persistent volume (recommended):

docker run --name syncthing-relay -d -p 22067:22067 -v /your/home:/home/syncthing/certs --restart=always t4skforce/syncthing-relay-discovery:latest

If you already have certificates generated and want to use them and protect the folder from being changed by the docker images use the following command:

docker run --name syncthing-relay -d -p 22067:22067 -v /your/home:/home/syncthing/certs:ro --restart=always t4skforce/syncthing-relay-discovery:latest

Creating cert directory and setting permissions (docker process is required to have access):

mkdir -p /your/home/certs
chown -R 1000:1000 /your/home/certs

⁠Container Configuration

There are several configuarion options available. The options are configurable via environment variables (docker default):

Example enabling debug mode:

export RELAY_OPTS='-debug'
export DISCO_OPTS='-debug'
docker run --name syncthing-relay-discovery -d -p 22067:22067 -p 22026:22026 --restart=always t4skforce/syncthing-relay-discovery:latest

or

docker run --name syncthing-relay-discovery -d -p 22067:22067 -p 22026:22026 -e RELAY_OPTS='-debug' -e DISCO_OPTS='-debug' --restart=always t4skforce/syncthing-relay-discovery:latest

⁠Docker Compose

---
version: '3'

services:
  syncthing-relay-discovery:
    container_name: syncthing
    restart: always
    image: t4skforce/syncthing-relay-discovery:latest
    environment:
      RELAY_OPTS: '-debug'
      DISC_OPTS: '-debug'
    ports:
      - 22067:22067
      - 22026:22026

⁠Options

  • DEBUG: enable debugging (true/false) / default:false
⁠Syncthing-Relay Server
  • RATE_GLOBAL: global maximum speed for transfer / default:10000000 = 10mbps
  • RATE_SESSION: maximum speed for transfer per session / default:5000 = 500kbps
  • TIMEOUT_MSG: change message timeout / default: 1m45s
  • TIMEOUT_NET: change net timeout / default: 3m30s
  • PING_INT: change ping timeout / default: 1m15s
  • PROVIDED_BY: change provided by string / default:"syncthing-relay"
  • RELAY_PORT: port the relay server listens on / default:22067
  • STATUS_PORT: disable by default to enable it add -p 22070:22070 to you docker run command / default:22070
  • POOLS: leave empty for private relay use "https://relays.syncthing.net/endpoint⁠" for public relay / default: ""
  • RELAY_OPTS: to provide addition options not configurable via env variables above / default: ""
    • example: -e RELAY_OPTS='-ext-address=:443'
⁠Syncthing-Discovery Server
  • DISCO_PORT: port the discovery server listens on / default:22026
  • DISCO_OPTS: to provide addition options not configurable via env variables above / default: ""
    • example: -e DISCO_OPTS='-metrics-listen=:19201'

Have a look at the current doc GitHub - relaysrv⁠ GitHub - discosrv⁠

Tag summary

Content type

Image

Digest

sha256:04e5e177d…

Size

105.6 MB

Last updated

over 1 year ago

docker pull t4skforce/syncthing-relay-discovery