시놀로지 NAS Docker로 filebrowser 설치하기 — 단계별 CLI & DSM UI 가이드

2021년 11월에 시놀로지 NAS Docker에 filebrowser를 올리면서 정리해 둔 메모가 있습니다. filebrowser는 별도 클라이언트 앱 없이 웹 브라우저만으로 NAS 파일을 업로드·다운로드·관리할 수 있는 가벼운 도구로, 외부에서도 NAS 파일에 쉽게 접근하고 싶을 때 선택지로 고려할 만합니다. CLI 방식과 DSM UI 방식 두 갈래를 당시 기록한 내용을 기반으로 다시 정리합니다.

사전 준비

시놀로지 NAS에 Docker 패키지가 설치되어 있어야 합니다. 아래 명령들은 터미널(쉘)에서 실행하는 명령이므로, 먼저 sudo -i로 관리자 권한으로 전환한 뒤 진행합니다. 이후 모든 명령은 root 상태에서 실행하므로 sudo를 별도로 붙이지 않아도 됩니다.

$ sudo -i

도커 데이터 폴더가 volume1에 있는지 volume2에 있는지도 미리 확인해두는 편이 좋습니다. 기본값은 volume1이고, 이 가이드는 volume1 기준으로 진행합니다.

1단계 — 폴더·DB·설정 파일 만들기

filebrowser를 위한 전용 디렉터리와 설정 파일을 준비합니다. 네 단계로 나뉩니다.

① filebrowser 전용 폴더 생성

$ mkdir /volume1/docker/filebrowser

도커 폴더가 volume2에 설정되어 있다면 경로를 volume2로 바꿔서 진행합니다.

② 루트 마운트 폴더 생성

filebrowser에 마운트되는 폴더입니다. 기본값으로 컨테이너 내부의 /srv에 연결됩니다.

$ mkdir /volume1/docker/filebrowser/src

③ 빈 DB 파일 생성

filebrowser가 사용자·설정 데이터를 저장하는 파일입니다. 내용 없이 빈 파일로 먼저 만들어둡니다.

$ touch /volume1/docker/filebrowser/filebrowser.db

④ 설정 JSON 작성

vim으로 설정 파일을 엽니다. 파일이 열리면 i를 눌러 입력 모드로 전환하고, 아래 내용을 입력한 뒤 ESC를 누르고 :wq를 입력해 저장합니다.

$ vim /volume1/docker/filebrowser/.filebrowser.json
{
  "port": 80,
  "baseURL": "",
  "address": "",
  "log": "stdout",
  "database": "/database.db",
  "root": "/srv"
}

각 필드 의미:

필드역할
port80컨테이너 내부 포트
baseURL""루트 경로에서 서비스할 경우 비워둠
address""비워두면 모든 인터페이스에 바인딩
log"stdout"로그 출력을 표준 출력으로 전달
database"/database.db"컨테이너 내부 DB 파일 경로
root"/srv"파일 탐색 루트 경로

2단계 — 컨테이너 실행

준비가 끝났으면 docker run 명령으로 컨테이너를 실행합니다.

$ docker run -d --restart always \
  -v /volume1/docker/filebrowser/src:/srv \
  -v /volume1/docker/filebrowser/filebrowser.db:/database.db \
  -v /volume1/docker/filebrowser/.filebrowser.json:/.filebrowser.json \
  -p 8080:80 \
  --name filebrowser \
  filebrowser/filebrowser

주요 옵션 설명:

  • -d : 백그라운드(데몬) 실행
  • --restart always : NAS 재부팅 시 자동 재시작. 이 옵션이 없으면 재부팅 후 컨테이너가 올라오지 않으므로 반드시 포함해야 한다.
  • -v /volume1/docker/filebrowser/src:/srv : src 폴더를 컨테이너 /srv에 마운트
  • -v .../filebrowser.db:/database.db : DB 파일 연결
  • -v .../.filebrowser.json:/.filebrowser.json : 설정 파일 연결
  • -p 8080:80 : 호스트 8080 포트를 컨테이너 80 포트로 연결
  • --name filebrowser : 컨테이너 이름 지정
  • filebrowser/filebrowser : 사용할 이미지

3단계 — 접속 확인

컨테이너가 정상 실행됐다면 브라우저에서 아래 주소로 접속합니다.

http://<DDNS or IP>:8080/

접속하면 로그인 화면이 표시됩니다. 최초 접속 후 관리자 비밀번호를 즉시 변경해 두시기 바랍니다.

참고 — 외부 네트워크에서 접속하려면 공유기 포트포워딩(외부 TCP 8080 → NAS 내부 IP)과 NAS 방화벽 허용 설정도 함께 점검하시기 바랍니다.

4단계 — DSM UI 방식 (CLI가 불편할 때)

위 1~3단계는 CLI(터미널) 기반 방법입니다. 커맨드라인이 불편하다면 1~3단계 대신 아래 DSM UI 방식으로 동일하게 설치·설정할 수 있습니다.

  1. DSM → Docker → [레지스트리]에서 filebrowser/filebrowser 이미지를 검색해 다운로드합니다.
  2. [컨테이너] → [생성]에서 다운로드한 이미지를 선택합니다.
  3. [고급 설정] → [볼륨] 탭에서 아래 세 경로를 각각 추가합니다.

– 호스트 /volume1/docker/filebrowser/src → 컨테이너 /srv – 호스트 /volume1/docker/filebrowser/filebrowser.db → 컨테이너 /database.db – 호스트 /volume1/docker/filebrowser/.filebrowser.json → 컨테이너 /.filebrowser.json

  1. [포트 설정] 탭에서 호스트 포트 8080, 컨테이너 포트 80으로 매핑합니다.
DSM Docker 컨테이너 고급 설정에서 폴더 마운트를 추가하는 화면

5단계 — 마운트 응용

설치를 마치면 filebrowser 접속 시 파일 목록이 비어 있는 상태로 보입니다. 기본 마운트 경로인 /volume1/docker/filebrowser/src가 실제로 비어 있기 때문입니다. 원하는 폴더를 연결하려면 아래 두 가지 방법을 활용합니다.

마운트 경로 변경 — src 폴더 대신 다른 폴더를 연결하려면, 컨테이너를 중지·삭제한 뒤 docker run-v 경로를 수정해 재실행합니다. 예를 들어 홈 폴더를 연결하고 싶다면 아래처럼 교체합니다.

/volume1/docker/filebrowser/src → /volume1/homes/username

DSM UI를 사용 중이라면 컨테이너 [고급 설정] → [볼륨] 항목을 수정한 뒤 재시작하면 됩니다.

마운트 경로 추가 — 여러 폴더를 동시에 탐색하고 싶다면 마운트를 늘릴 수 있습니다. 저의 경우 video와 photo 폴더를 각각 /srv/video, /srv/photo로 분리 마운트해서 사용했습니다. DSM Docker 패키지에서 컨테이너 [고급 설정]의 볼륨 항목을 추가하면, CLI 없이도 마운트 경로를 늘릴 수 있습니다.

운영 팁

이미지 태그 고정: filebrowser/filebrowser를 태그 없이 실행하면 latest를 당겨옵니다. 버전 고정이 필요하다면 filebrowser/filebrowser:v2처럼 태그를 지정해두는 방식이 업데이트로 인한 예기치 않은 동작을 줄이는 데 도움이 됩니다. 특정 버전이 정답이라는 의미가 아니라, 운영 안정성을 위한 일반 권고입니다.

관리자 계정: 최초 접속 후 관리자 계정 비밀번호를 즉시 변경하시는 편이 안전합니다.

마무리

2021년 11월에 기록한 메모이지만, 당시 사용한 명령과 경로는 지금도 동일하게 동작합니다. video와 photo 폴더를 폴더별로 나눠 마운트해서 쓰던 방식이 생각보다 꽤 편리했습니다. Synology NAS Docker 환경에서 간단한 웹 파일 관리자가 필요할 때 참고하시면 됩니다.


이 글은 [원본 메모 2021-11-03]을 기반으로 작성되었습니다.

Similar Posts