File Browser
파일 공유를 위한 오픈소스 프로젝트로 깃허브에서 많은 스타를 받을 정도로 인기있는 프로젝트이다.
파일 브라우저는 서버에 설치하고 경로를 지정한 다음 웹 인터페이스를 통해 파일에 액세스할 수 있는 클라우드 종류의 소프트웨어이다.
단순히 리눅스 파일시스템을 웹으로 띄워주는 것 뿐만 아니라 계정별 로그인을 통한 권한관리나 간단한 문서편집, 파일 공유들을 지원한다.
사전 준비
기본적인 Setting 값과 비어있는 db 파일과 디렉토리 들을 생성해주도록 하자.
$ mkdir -p ./filebrowser/{config,data}
$ touch ./filebrowser/config/{database.db,filebrowser.json}
filebrowser.json을 작성해주도록 하자.
{
"port": 80,
"address": "",
"database": "/database.db",
"scope": "/srv",
"root": "/srv",
"allowCommands": true,
"allowEdit": true,
"allowNew": true,
"commands": []
}
컨테이너 생성하기
아래와 같이 docker-compose.yaml 파일을 작성해보도록 하자. ./filebrowser/data는 파일 브라우저를 통해 공유할 루트 폴더이다.
version: "3"
services:
filebrowser:
image: filebrowser/filebrowser
restart: always
volumes:
- "./filebrowser/config/filebrowser.json:/.filebrowser.json:ro"
- "./filebrowser/config/database.db:/database.db"
- "./filebrowser/data:/srv"
ports:
- "8080:80"
container_name: filebrowser
docker-compose를 실행하자
$ docker-compose up -d
서비스 동작 확인
컨테이너가 정상적으로 생성 되었다면 http://<IP주소>:8080
으로 접속해보자
기본 계정명은 admin/admin 이다.
로그인이 되었다면 설정 - 언어로 가서 한국어로 변경 후 PW도 변경하도록 하자.
파일도 잘 열리고, 공유도 잘 된다
Metube와 연동하기
version: "3"
services:
filebrowser:
image: filebrowser/filebrowser
restart: always
volumes:
- "./filebrowser/config/filebrowser.json:/.filebrowser.json:ro"
- "./filebrowser/config/database.db:/database.db"
- "./filebrowser/data:/srv"
ports:
- "8080:80"
container_name: filebrowser
metube:
image: alexta69/metube
restart: always
volumes:
- "./metube/downloads:/downloads"
ports:
- "8081:8081"
container_name: metube
다운로드를 받으면 파일 브라우저를 통해 자동으로 웹으로 다운로드 받을 수 있다!