728x90
파일 브라우징과 HTTP 파일 업로드를 구성하는 방법
1. filebrowser 설치 및 설정
filebrowser는 파일 관리 웹 인터페이스를 제공합니다.
Docker로 filebrowser 실행
docker pull filebrowser/filebrowser
docker run -d \
-v /path/to/your/files:/srv \
-v /path/to/database.db:/database.db \
-p 8080:80 \
--name filebrowser \
filebrowser/filebrowser
- /path/to/your/files : 파일을 저장할 로컬 디렉토리 경로
- /path/to/database.db : 데이터베이스 파일 경로
- 8080 : filebrowser가 사용할 포트
filebrowser 웹 인터페이스에 접속하려면 브라우저에서 http://localhost:8080으로 이동합니다. 초기 사용자 이름과 비밀번호는 모두 admin입니다.
2. simple-file-upload-download-server 설치 및 설정
simple-file-upload-download-server는 간단한 파일 업로드 및 다운로드 서버를 제공합니다.
Docker로 simple-file-upload-download-server 실행
docker pull julienmeerschart/simple-file-upload-download-server
docker run -d \
-v /path/to/your/uploaded/files:/app/uploaded \
-p 3000:3000 \
--name simple-upload-server \
julienmeerschart/simple-file-upload-download-server
- /path/to/your/uploaded/files : 업로드된 파일을 저장할 로컬 디렉토리 경로
- 3000 : 서버가 사용할 포트qust
3. 파일 디렉토리 통합
filebrowser와 simple-file-upload-download-server가 동일한 파일 디렉토리를 사용하도록 설정합니다. 예를 들어, /path/to/your/files를 /srv에 마운트하고 /path/to/your/uploaded/files로 업로드된 파일을 마운트합니다.
docker-compose.yml 파일 생성
vim docker-compose.yml
version: '3.7'
services:
filebrowser:
image: filebrowser/filebrowser
container_name: filebrowser
restart: unless-stopped
volumes:
#- ./filebrowser/filebrowser.json:/.filebrowser.json
#- ./filebrowser/database.db:/database.db
- data-volume:/srv
expose:
- 80/tcp
ports:
- 8181:80
upload-server:
image: julienmeerschart/simple-file-upload-download-server
container_name: upload-server
hostname: upload-server
restart: unless-stopped
environment:
SERVER: "http://domain.com"
volumes:
#- ./data/uploads:/tmp
- data-volume:/tmp
depends_on:
- filebrowser
expose:
- 3000/tcp
ports:
- 3000:3000
#/var/lib/docker/volumes/<docker container directory name><volume name>/
volumes:
data-volume:
driver: local
driver_opts:
device: ${PWD}/data
o: bind
type: none
도커 컨테이너 시작
docker-compose up -d
728x90
도커 컨테이너 확인
docker-compose ps
$ docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------------------
filebrowser /filebrowser Up (healthy) 0.0.0.0:8181->80/tcp
upload-server node /file/server.js 3000 /tmp Up 0.0.0.0:3000->3000/tcp
파일 브라우저 웹 콘솔
- admin / admin
파일 브라우저 - 파일 목록
HTTP 파일 업로드
- curl 명령으로 파일 업로드
curl -F file=@sample.txt http://domain.com:3000
$ curl -F file=@sample.txt http://domain.com:3000
{"downloadLink":"http://domain.com:3000/file?file=sample.txt","curl":"curl http://domain.com:3000/file?file=sample.txt > sample.txt"}
파일 브라우저 - 파일 목록
- curl 명령으로 sample.txt 파일 업로드
이 구성을 통해 파일 브라우징과 업로드 기능을 효과적으로 통합할 수 있습니다.
참고URL
- dockerhub : https://hub.docker.com/r/filebrowser/filebrowser
- dockerhub : https://hub.docker.com/r/julienmeerschart/simple-file-upload-download-server
728x90
'리눅스' 카테고리의 다른 글
chage 명령어 (0) | 2022.03.23 |
---|---|
[보안취약점] 리눅스 패스워드 복잡성 설정 (0) | 2022.03.23 |
Simple HTTP File Upload Server (0) | 2022.03.22 |
[리눅스] openssl, keytool 명령을 사용하여 키 저장소 작성 (0) | 2022.03.18 |
Base64 인코딩(Base64 디코딩) (0) | 2022.03.18 |