DavRoll 설정 가이드
Nextcloud 자동 업로드가 안 될 때 WebDAV로 직접 백업하기
Nextcloud의 개인 WebDAV URL을 DavRoll에 연결해 사진을 같은 서버로 직접 백업하고, 업로드 후 무결성 검증 결과까지 확인하는 방법입니다.
DavRoll은 Nextcloud 서버에 연결하는 독립 WebDAV 클라이언트이며
Nextcloud의 공식 앱이나 인증 제품이 아닙니다. 직접 연결은 모바일 앱의
업로드 경로를 대체할 수 있지만 서버 권한, quota, reverse proxy 또는 인증
문제까지 우회하지는 않습니다.
현재 자동화 범위: 백그라운드 신규 사진 탐색은 별도
opt-in이며 기본값은 꺼짐입니다. 켜면 foreground에서 이미 허용한 사진
접근 범위와 저장된 백업 범위 안에서 한 번에 최대 80개를 비대화형으로
확인하고, 새 항목을 현재 암호화/JPEG XL 설정과 호환되는 활성 대상의 중복 방지 대기열에 한 번만
추가합니다. 실행 시점은 운영체제가 결정하는 best-effort 방식입니다.
이 옵션을 꺼도 이미 대기 중이거나 실패한 업로드 처리는 계속할 수 있습니다.
1. Nextcloud 자체 상태부터 확인
- 브라우저에서 Nextcloud에 로그인하고 Files에서 작은 파일을 정상 업로드할 수 있는지 확인합니다.
- 사용자 또는 공유 폴더의 남은 quota와 쓰기 권한을 확인합니다.
- 백업 전용 폴더를 사용할 경우 웹 UI에서 먼저 만듭니다.
- 같은 폴더에 다른 자동 업로드 앱도 쓰고 있다면 중복 백업을 피하도록 한쪽을 끕니다.
2. 개인 WebDAV URL과 앱 암호 준비
- Nextcloud Files 화면의 설정 → WebDAV에 표시된 개인 URL을 복사합니다. 직접 조립하는 것보다 이 URL을 쓰는 편이 안전합니다.
- 개인 설정 → 보안에서 DavRoll용 앱 암호를 만듭니다. 제3자 WebDAV 클라이언트에는 일반 계정 비밀번호보다 앱 암호가 권장됩니다.
- 앱 암호는 생성 직후 DavRoll에 입력하고 다른 문서, 메모, 지원 문의에 복사하지 않습니다.
루트 설치의 일반적인 형식은
https://<NEXTCLOUD_HOST>/remote.php/dav/files/<USERNAME>/입니다.
하위 경로에 설치했다면
https://<NEXTCLOUD_HOST>/<BASE_PATH>/remote.php/dav/files/<USERNAME>/처럼
경로가 추가됩니다. 표시 이름이나 이메일을 추측하지 말고 Files 설정에
표시된 URL의 사용자 식별자를 그대로 사용하세요.
3. DavRoll에 연결
- DavRoll에서 설정 → 백업 위치 → 고급 저장소 → WebDAV를 엽니다.
- 아래 항목을 입력하고 테스트 후 저장을 누릅니다.
| DavRoll 항목 | 입력 방법 |
|---|---|
| 서버 URL | Files 설정에서 복사한 HTTPS WebDAV URL. 기존 전용 폴더를 루트로 쓰려면 끝에 <BACKUP_FOLDER>/를 추가 |
| 사용자 이름 | WebDAV URL에 표시된 Nextcloud 사용자 식별자 |
| 비밀번호 | 개인 설정의 보안 화면에서 만든 DavRoll 전용 앱 암호 |
DavRoll은 HTTPS WebDAV만 허용합니다. 공개 공유용
/public.php/dav URL 대신 인증된 개인 파일 URL인
/remote.php/dav/files/<USERNAME>/을 사용하세요.
4. 첫 백업과 검증 결과 확인
- 사진 접근 범위와 백업할 위치를 확인한 뒤 작은 수동 백업을 실행합니다.
- 완료 요약의 검증 완료 수치와 업로드 기록의 검증됨 상태를 확인합니다.
- Nextcloud Files에서도 대상 폴더에 파일이 생겼는지 확인합니다.
WebDAV 백업은 업로드 성공 응답만 믿지 않습니다. DavRoll이 원격 파일을
다시 읽고 로컬 업로드 데이터와 SHA-256을 비교해 일치한 경우에만
검증됨으로 기록합니다.
백업 파일을 DavRoll 없이 열 수 있나요?
미디어 암호화를 끈 WebDAV 백업은 표준 파일시스템의 일반 파일이므로
Nextcloud Files나 WebDAV 파일 브라우저에서 DavRoll 없이 접근할 수
있습니다. JPEG XL 옵션을 켠 JPEG는 JPEG XL 호환 앱이 필요하며, 미디어
암호화를 켜 만든 .droll 파일은 DavRoll에서 복원해야 합니다.
오류별 점검 순서
| 증상 | 먼저 확인할 것 |
|---|---|
| 인증 실패 | 사용자 식별자, 앱 암호, 2단계 인증/OIDC 정책, reverse proxy의 Authorization 헤더 전달 |
| 권한 거부 | 대상 폴더의 쓰기 권한, 공유 또는 Group Folder ACL, 서버 보안 정책 |
| 경로 없음 | Nextcloud 설치 하위 경로, /remote.php/dav/files/<USERNAME>/, 백업 폴더 철자 |
| TLS·네트워크 오류 | 인증서 신뢰와 호스트명, DNS, HTTPS 포트, reverse proxy 연결 |
| 서버 오류·반복 timeout | 남은 quota, Nextcloud/PHP/웹 서버 로그, proxy timeout과 KeepAlive 설정 |
웹 로그인과 일반 파일 업로드는 되지만 DavRoll만 연결되지 않으면 Files 설정의 WebDAV URL을 다시 복사하고 사용자 이름과 앱 암호를 확인하세요. Nextcloud 데이터 디렉터리를 서버 파일시스템에서 직접 수정하지 마세요.
5. 대기 업로드와 선택형 신규 사진 탐색
- 먼저 앱에서 사진 권한과 저장된 백업 범위를 확인하고 작은 지금 백업을 완료한 뒤, 원할 때만 기본 off인 새 사진 자동 찾기를 켭니다. 백그라운드에서는 권한 요청 창을 띄우지 않습니다.
- Android: 설정 → 자동 백업 → Android 자동 백업 사용도 켜고 모바일 데이터, 충전, 저전력 조건을 선택합니다. 운영체제가 작업을 실행할 때 저장된 범위에서 최신 항목 최대 80개를 확인합니다. 실행 사이에 80개 넘게 추가하거나 대량으로 가져온 뒤에는 지금 백업을 사용합니다.
- iOS: 앱 실행·복귀 또는 iOS가 허용한 백그라운드 시간에 동작하며 정확한 시점은 iOS가 결정합니다. 제한된 사진 접근 권한과 앨범 범위를 함께 사용하는 경우 자동 탐색을 건너뛰므로 앱에서 지금 백업을 사용하세요.
- 탐색한 새 사진은 Nextcloud WebDAV를 포함해 현재 암호화/JPEG XL 설정과 호환되는 활성 백업 대상에 한 번씩 대기열로 추가됩니다. 같은 범위를 다시 확인해도 동일 대상에 중복 큐 항목을 만들지 않습니다.
- 앱을 한 번 열어 대기 항목과 최근 결과를 확인하고, 실패 알림과 운영체제의 배터리·네트워크 제한을 함께 점검하세요.