PingvinShare 소개 및 docker로 설치하는 방법

Pingvin Share란?

Pingvin Share는 WeTransfer의 셀프호스팅(자체 서버 운영) 대안으로 만들어진 오픈소스 파일 공유 플랫폼입니다. 링크를 통해 파일을 공유할 수 있고, 디스크 용량만 허용한다면 파일 크기 제한이 없으며, 공유에 만료일을 설정할 수 있고, 방문자 수 제한과 비밀번호로 공유를 보호할 수 있습니다. 그 외에도 이메일 수신자 지정, 리버스 공유(파일 받기), OIDC·LDAP 인증, ClamAV 연동 보안 검사, 로컬 저장소와 S3 등 다양한 파일 저장 방식을 지원합니다.

즉, 개인 서버나 NAS에 설치해서 본인 소유의 WeTransfer/Firefox Send 같은 서비스를 운영할 수 있게 해주는 도구입니다.

Docker Compose를 사용하여 설치를 진행하겠습니다. 파일 관리 및 추후 유지보수가 단일 명령어 실행보다 훨씬 수월하므로 가장 추천하는 방식입니다.

아래 작업을 차례대로 터미널에 입력하시면 됩니다.


1. 디렉토리 생성 및 이동

우선 Pingvin Share 설정 파일과 업로드된 파일들이 보관될 폴더를 만듭니다.

(docker 폴더 이동 후 )
mkdir -p pingvin-share/data
cd pingvin-share

2. docker-compose.yml 파일 생성

텍스트 에디터(nano)를 열어 설정 파일을 생성합니다.

nano docker-compose.yml

에디터가 열리면 아래 내용을 그대로 복사해서 붙여넣습니다.

version: '3.8'

services:
  pingvin-share:
    image: stonith404/pingvin-share:latest
    container_name: pingvin-share
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - ./data:/opt/app/backend/data

Tip: 붙여넣은 후 Ctrl + O를 누르고 Enter를 치면 파일이 저장됩니다. 그 후 Ctrl + X를 눌러 에디터를 빠져나옵니다.

3. 컨테이너 실행

설정 파일 작성이 완료되었다면 다음 명령어로 컨테이너를 백그라운드에서 실행합니다.

sudo docker compose up -d

4. 설치 확인 및 웹 접속

실행이 완료되면 아래 명령어로 컨테이너가 정상적으로 구동 중인지 확인할 수 있습니다.

sudo docker ps

STATUS가 Up으로 되어 있다면 성공입니다. 이제 웹 브라우저를 열고 아래 주소로 접속하여 초기 설정을 진행하시면 됩니다.

  • 접속 주소: http://localhost:3000 (또는 http://우분투_서버_IP:3000)