도커로 리눅스 파일 웹 GUI로 관리하기.(Feat. File Browser)

안녕하세요~ 달소입니다.

앞서 metube를 소개해드리면서 댓글로 나린이2 님께서 또 꿀 이미지를 추천해주셔서 공유해봅니다.

단일 File Browser로 사용하기보다는 여러가지 도커 이미지와 결합하면 참 좋을것같습니다 ㅎㅎ

File Browser란?

파일 공유를 위한오픈소스 프로젝트로 깃허브에서 16300개의 스타를 받을정도로 인기있는 프로젝트입니다.

GitHub - filebrowser/filebrowser: 📂 Web File Browser
📂 Web File Browser. Contribute to filebrowser/filebrowser development by creating an account on GitHub.

파일 브라우저는 서버에 설치하고 경로를 지정한 다음 멋진 웹 인터페이스를 통해 파일에 액세스할 수 있는 고유한 클라우드 종류 의 소프트웨어입니다. 사용 가능한 기능이 많이 있습니다!

단순히 리눅스파일시스템을 웹으로 띄워주는것 뿐만아니라 계정별 로그인을 통한 권한관리나 간단한 문서편집, 파일공유등을 지원합니다.

전문 클라우드용 이미지와는 조금 다르긴하지만 가벼운 이미지로 인기있는듯합니다.

도커로 설치하기

여기서는 docker-compose를 통해 설치를진행해보겠습니다.

사전준비사항으로는 기본적인 setting값과 빈 db파일 디렉터리 들을 생성해주겠습니다.

mkdir -p /data/filebrowser/configtouch /data/filebrowser/config/database.dbvi /data/filebrowser/config/filebrowser.json

touch 를 통해 빈 db를 생성하고 filebrowser.json을 작성해주겠습니다.

{
 "port": 80,
 "address": "",
 "database": "/database.db",
 "scope": "/srv",
 "root": "/srv",
 "allowCommands": true,
 "allowEdit": true,
 "allowNew": true,
 "commands": []
}

이제 docker-compose.yml 파일을 만들겠습니다.

cd /data/filebrowservi docker-compose.yml

크게 어려운 부분은 없으나 /data 는 파일브라우저를 통해 공유할 루트폴더입니다.

version: "3"
services:
 filebrowser:
   image: filebrowser/filebrowser
   container_name: filebrowser
   restart: unless-stopped
   volumes:
     - ./config/filebrowser.json:/.filebrowser.json
     - ./config/database.db:/database.db
     - /data:/srv
   ports:
     - 8080:80

테스트하기

이미지를 성공적으로 만들었다면 ip:8080포트로 접속해주세요.

기본계정명은 admin/admin 입니다.

로그인이 되셨다면 설정으로 가서 언어 -> 한국어로 변경 후 pw도 변경해주세요.

파일도 잘 열리고 파일공유도 잘됩니다.

참 쉽죠?

이제 응용 방법을 하나 말씀드리자면

앞서 소개드린 metube와 결합해서 이미지를 요로코롬 만들어주시면

다운로드를 받으면 파일브라우저를 통해 자동으로 웹으로 다운로드받을 수 있습니다.