본문 바로가기

리눅스

[draft] 파일 브라우징과 HTTP 파일 업로드를 구성하는 방법

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

file_browser

파일 브라우저 - 파일 목록

file_browser

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 파일 업로드

file_browser

 

이 구성을 통해 파일 브라우징과 업로드 기능을 효과적으로 통합할 수 있습니다.

 

참고URL

- dockerhub : https://hub.docker.com/r/filebrowser/filebrowser

- dockerhub : https://hub.docker.com/r/julienmeerschart/simple-file-upload-download-server

 

728x90