핵심 결론: Syncthing이 폴더를 읽을 수는 있지만 삭제 또는 수정 사항을 전파하지 못한다면 Syncthing 컨테이너 내부에서 쓰기 권한을 테스트하세요. 읽을 수 있는 바인드 마운트라고 해서 자동으로 쓸 수 있는 것은 아닙니다.
먼저 폴더 모드 확인
양방향 폴더는 변경 사항을 수신하는 데 적합한 Syncthing 폴더 모드를 사용해야 합니다. Send Only는 Send & Receive처럼 작동하지 않습니다.
컨테이너가 쓸 수 있음을 확인
docker exec -it syncthing sh
touch /DATA/Gallery/.write-test
rm /DATA/Gallery/.write-test
명령 중 하나라도 실패하면 Syncthing 설정을 변경하기 전에 저장소 권한을 수정하세요.


PUID 및 PGID 일치시키기
공식 CasaOS Syncthing compose는 PUID/PGID를 전달하고 /DATA를 컨테이너에 바인드합니다. LinuxServer는 호스트 볼륨의 PUID/PGID 소유권을 설명합니다.
docker exec syncthing id
stat -c '%u:%g %a %n' /DATA/Gallery
숫자로 된 ID를 비교하세요. 컨테이너가 다른 UID/GID로 실행된다면 소유자를 사용자 이름으로 변경하는 것만으로는 충분하지 않습니다.
삭제에는 상위 디렉터리 권한이 필요합니다
파일을 삭제하거나 이름을 변경하려면 상위 디렉터리에 쓰기 및 실행 권한이 필요합니다. 따라서 읽기/동기화는 부분적으로 작동하는 것처럼 보이지만 원격 삭제는 실패할 수 있습니다.


정상 작동하는 폴더 비교
비교 docker inspect syncthing 마운트, stat mode/UID/GID, ACL 확인 getfacl, 파일 시스템 읽기 전용 상태 및 무시 패턴. 다음으로 넘어가지 마세요 chmod 777.
CasaOS Syncthing 설정은 깔끔한 기준 구성을 제공합니다. ZimaOS 앱 플랫폼에서는 대안을 비교할 수 있으며, ZimaCube 2는 여러 드라이브를 사용하는 스토리지 작업에 적합합니다.
Unix 모드 비트가 올바르게 보일 때 ACL 확인
기존 방식 chmod 출력은 정상으로 보이더라도 ACL이 유효 권한을 변경할 수 있습니다. 정상 작동하는 디렉터리와 실패하는 디렉터리를 비교하세요.
getfacl /DATA/Gallery
getfacl /DATA/Documents
한 경로에 추가 ACL 항목이 있다면 모든 곳의 권한을 재귀적으로 개방하기보다 해당 항목을 의도적으로 수정하세요.
파일 시스템이 읽기 전용인지 확인
findmnt -no TARGET,SOURCE,FSTYPE,OPTIONS /DATA/Gallery
디스크가 마운트된 상태 ro, 파일 시스템 오류나 성능이 저하된 외장 드라이브도 동일한 “읽을 수는 있지만 변경할 수 없음” 증상을 일으킬 수 있습니다. 마운트 자체가 읽기 전용이라면 Syncthing 설정을 변경해도 해결할 수 없습니다.
“동기화되지 않음” 뒤에 있는 Syncthing 오류 읽기
Syncthing 웹 UI를 열어 폴더 오류를 확인한 다음 컨테이너 로그와 비교하세요.
docker logs --tail 200 syncthing
다음을 확인하세요 권한 거부, 작업이 허용되지 않음, 경로를 찾을 수 없음 오류 또는 이름 변경/삭제 작업 실패가 발생할 수 있습니다. “동기화되지 않음”은 상태일 뿐이며, 로그에는 대개 하위 수준의 파일 시스템 원인이 포함되어 있습니다.
Ignore Permissions를 만능 해결책으로 사용하지 마세요
권한 메타데이터 무시는 두 파일 시스템이 Unix 모드 비트를 서로 다르게 표현할 때 도움이 될 수 있지만, 프로세스에 쓰기 권한을 부여하지는 않습니다. 컨테이너가 테스트 파일을 삭제할 수 없다면 Syncthing의 권한 메타데이터 동작을 변경해도 호스트 디렉터리를 쓰기 가능하게 만들 수 없습니다.
제어된 쓰기 테스트 사용
작고 일회용인 디렉터리를 만들고 Syncthing에 매핑한 다음, 두 장치에서 생성 → 편집 → 이름 변경 → 삭제를 확인하세요. 정상적으로 작동하면 실제 폴더에도 동일한 소유권과 마운트 패턴을 적용하세요. 이렇게 하면 복잡한 기존 디렉터리 트리에서 동기화 동작을 분리할 수 있습니다.
FAQ
Syncthing은 추가할 수 있는데 삭제할 수 없는 이유는 무엇인가요?
상위 디렉터리 권한으로 읽기는 허용하면서 이름 변경이나 삭제 작업은 차단할 수 있습니다.
chmod 777을 사용해야 하나요?
아니요. 먼저 실패 경로와 컨테이너 ID를 입증하세요.
