Skip to content

Setup Syncthing

No Longer Active

Overview

Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers. We strive to fulfill the goals below. The goals are listed in order of importance, the most important ones first.

Syncthing should be:

  1. Safe From Data Loss

    Protecting the user's data is paramount. We take every reasonable precaution to avoid corrupting the user's files.

  2. Secure Against Attackers

    Again, protecting the user's data is paramount. Regardless of our other goals, we must never allow the user's data to be susceptible to eavesdropping or modification by unauthorized parties.

  3. Easy to Use

    Syncthing should be approachable, understandable, and inclusive.

  4. Automatic

    User interaction should be required only when absolutely necessary.

  5. Universally Available

    Syncthing should run on every common computer. We are mindful that the latest technology is not always available to every individual.

  6. For Individuals

    Syncthing is primarily about empowering the individual user with safe, secure, and easy to use file synchronization.

  7. Everything Else

    There are many things we care about that don't make it on to the list. It is fine to optimize for these values, as long as they are not in conflict with the stated goals above.

Important Docker Files

.env file

.env
TZ=America/New_York
ID=1000
NAME=syncthing
DOMAIN=
APPDATA=
MEDIA=
DOWNLOADS=
PORT=8384

docker-compose.yml file

docker-compose.yml
services:
  syncthing:
    container_name: ${NAME}
    image: ghcr.io/linuxserver/syncthing
    restart: always
    environment:
      PUID: ${ID}
      PGID: ${ID}
      TZ: ${TZ}
    volumes:
      - ${APPDATA}/${NAME}/config:/config
      - ${DOWNLOADS}:/completed
    networks:
      - proxy
    dns:
      - '10.1.10.1'
    labels:
      swag: enable
      swag_address: ${NAME}
      swag_port: ${PORT}
      swag_proto: http
      swag_url: ${NAME}.${DOMAIN}
      com.centurylinklabs.watchtower.enable: true
networks:
  proxy:
    external: true

Start the Container

Start the Container
docker compose up -d