Filebrowser Quantum v2.0.0-stable release is ready!
Filebrowser Quantum v2.0.0 정식 버전 출시
Filebrowser Quantum v2.0.0은 기존 키-값 저장소를 SQLite 기반 구조화 데이터베이스로 바꾸고 상태 관리 계층을 도입합니다. API와 권한 체계에도 변경이 많아, 업그레이드 전 마이그레이션 안내와 백업 확인이 필요합니다.
- 주제
AI 요약
Filebrowser Quantum v2.0.0은 설정과 사용자 정보, 활동 기록을 저장하는 방식을 바꾸고 권한 체계를 확장한 대규모 업데이트입니다. 기존 v1.x는 BoltDB/Storm 기반 키-값 저장소를 썼습니다. 기본 설정에는 적합했지만 활동 기록이나 보고서처럼 여러 사용자와 시간 범위를 함께 조회하는 기능에는 맞지 않았습니다. v2는 SQLite 기반 구조화 데이터베이스와 별도 상태 관리 계층으로 이를 대체합니다.
저장소와 상태 관리
애플리케이션은 메모리에 작업용 데이터를 유지하면서 변경 내용을 데이터베이스에 바로 기록하는 write-through 방식으로 동작합니다. 공유 설정, 접근 규칙, 그룹, 토큰 메타데이터, 인덱스 정보는 장기 메모리 캐시에 올려 프로세스가 실행되는 동안 유지합니다. 사용자 레코드는 메모리 사용량과 디스크 접근을 조절하도록 단기 캐시에 저장하고, 필요하면 디스크에서 읽습니다. 읽기 속도를 높이면서 재시작 후에도 변경 사항을 복구하는 구조입니다.
기존 database.db는 마이그레이션 과정에서 한 번 읽습니다. 이후 v2는 별도 데이터베이스 파일을 사용합니다. 설정 변경도 단순히 컨테이너 이미지 태그만 바꾸는 수준이 아니므로, 안내된 다단계 마이그레이션 절차를 따라야 합니다. 업그레이드 전 database.db를 안전한 곳에 백업하고, 새 버전에서 데이터와 설정을 확인할 때까지 기존 백업을 보관하라고 안내합니다.
API와 권한 변경
API 응답과 생성된 설정에서 오래된 속성을 제거하고, 프런트엔드 API는 숫자 ID 대신 사용자 이름으로 사용자를 지정합니다. 사용자 정보 일부만 바꿀 때는 PATCH 요청에 변경할 필드만 보내면 됩니다. 파일 보기와 다운로드 권한도 분리했습니다. 미디어가 아닌 파일은 /api/resources/view에서 인라인으로 열고, 오디오·비디오는 범위 단위 스트리밍을 지원하는 /api/media/stream을 사용합니다. 두 API 모두 파일 메타데이터의 viewToken을 활용합니다.
스크립트나 외부 연동을 유지하는 경우 업그레이드 뒤 /swagger에서 새 API 형식을 확인해야 합니다. v2.0.0에는 미디어 플레이어, WebDAV, CLI 변경 등도 포함되며, 이전 버전과 호환되지 않는 변경 사항이 많아 릴리스 노트와 마이그레이션 가이드를 먼저 살펴보라고 안내합니다.
Reddit 반응
사용자들은 일상적인 파일 관리와 서버 설정 편집에 유용하다고 평가했지만, 마이그레이션 경험은 엇갈렸습니다. 안내 문서를 따라 1.5.x에서 문제없이 옮겼다는 댓글이 있는 반면, 한 사용자는 한 시간 동안 마이그레이션을 시도하다 백업을 복구하고 v2에서 새로 시작하기로 했다고 전했습니다. WebDAV 토큰 인증이 업데이트 뒤 작동하지 않았다는 보고도 나왔습니다.
토론에서는 프로젝트의 AI 사용 공개 방식도 논쟁이 됐습니다. 일부 사용자는 저장소의 코드 기여 내역에 AI 도구가 표시되는 이유가 squash merge 방식 때문이라고 설명했고, 유지관리자는 릴리스 단위 squash merge가 기여 내역을 부풀려 보이게 했다고 답했습니다. 이후 AI 공개 항목을 수정했다고 밝혔습니다.
- @u/hometechgeek — 문서에 UI 예시도 있으면 좋겠습니다.
- @u/quantumx-admin — 네, 시간이 지나면서 개선할 부분입니다. UI와 기능이 자주 바뀌어서 그동안은 대부분 피했습니다. 여기처럼 자동으로 갱신되는 스크린샷도 있습니다. 수동 스크린샷은 꽤 빨리 오래된 정보가 됩니다.
- @u/NotTheDave — 프로젝트와 한동안 함께 써서 좋아합니다. 하지만 마이그레이션 과정은 힘들었습니다. 한 시간 동안 해결하지 못해 포기하고 백업을 복원했습니다. 제 설정은 복잡하지 않으니 v2에서 새로 시작할까 합니다.
- @u/onefish2 — 꽤 오래 운영해 왔습니다. 릴리스된 날인 지난 금요일에 v2.0으로 업데이트했습니다. 훌륭한 마이그레이션 문서를 읽고 5분 만에 다시 운영할 수 있었습니다. UI가 그대로여서 좋습니다.
- @u/bankroll5441 — 1.5.x에서 2.0으로 매끄럽게 마이그레이션했습니다. 설정 생성기도 좋았습니다. 거의 모든 것이 바로 작동했지만 WebDAV에 쓰는 API 토큰은 더 이상 인증되지 않았습니다. UI에는 토큰이 남아 있었지만 토큰을 쓰는 클라이언트가 인증하지 못했습니다. 수정은 아주 빨랐고 큰 문제는 아니었습니다.
- @u/TheAndyGeorge — 이 프로젝트는 AI보다 먼저 시작했습니다. 이번 릴리스에는 AI를 쓰지 않았다고 덧붙입니다. 이 저장소의 주요 기여자 목록에 Claude와 Cursor가 보이니 AI 공개 항목에서 사용 여부를 알리는 편이 맞겠습니다.
- @u/quantumx-admin — 그래프를 보면 main 브랜치에 squash merge하는 과정에서 생긴 것 같습니다. 변경 사항에 Claude, Cursor, CodeRabbit이 한 번이라도 포함되면 전체 변경 줄이 AI 기여로 표시됩니다. 그래서 GitHub 수치가 부풀려졌습니다.
- @u/tadfisher — 각 줄이 어느 작성자에게서 왔는지 알 수 있다는 점이 유용합니다. squash merge가 좋지 않은 이유 중 하나입니다.
- @u/quantumx-admin — squash merge 자체가 나쁜 것은 아니고 제대로 써야 합니다. 각 릴리스를 main에 squash merge한 것이 실수였습니다. 기능별로 릴리스 브랜치에 squash merge한 다음 main에는 일반 merge를 해야 했습니다.
- @u/fligglymcgee — 생성형 AI로 대충 만든 프로젝트를 가장 못 참는 사람 중 하나지만, 이 프로젝트는 그런 사례가 아닙니다. 관리자는 여기서 AI 사용과 저장소 코드에 관해 자기 말로 실시간 논의를 하고 있습니다. 저장소와 코드는 수년간 계속 관리됐고, 소프트웨어의 보안도 신중하게 다루며, 자유 오픈소스 소프트웨어입니다. 공개 안내는 제 역할을 하고 있습니다. AI가 관여한 방식을 사람의 말로 듣자는 취지입니다. 피드백을 받은 뒤 공개 내용도 수정했습니다. 많은 사람은 그냥 거짓말합니다. 오픈소스에서 AI 사용이 당연해지는 것도 싫지만, 선의로 기여하는 개발자와 사람들을 위축시키지 않도록 열을 조금 낮췄으면 합니다.
원문: Filebrowser Quantum 문서 / 번역·요약: Trawling