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)