본문으로 건너뛰기

셀프 호스팅

내 서버에서 tapeshelf 운영하기

tapeshelf는 AGPL-3.0 라이선스의 오픈 소스예요. tapeshelf.com을 돌리는 앱을 내 서버에서도, 내 저장소와 내 규칙으로 운영할 수 있어요.

Docker Compose 스택 하나

서버 한 대에서 compose 파일 하나로 모든 것이 돌아가요.

Caddy
웹 서버예요. Let's Encrypt에서 HTTPS 인증서를 알아서 받아 오고, 앱을 제공하고, 요청을 API로 넘겨요.
API
백엔드예요. 계정, 선반, 모든 요청에 대한 권한 확인, 교환, 링크, 채팅, 알림을 맡아요.
ffmpeg 워커
업로드한 동영상을 스트리밍용 암호화 HLS로 변환하고, 새 파일에서 메타데이터를 지우고, 동영상 편집기의 편집을 렌더링하고, 썸네일과 미리보기를 만들고, 이메일을 보내요.
PostgreSQL
데이터베이스예요.
Redis
작업 대기열과 실시간 업데이트를 맡아요.
S3 호환 저장소
앱 옆에서 돌아가는 RustFS나, Hetzner Object Storage, AWS S3 같은 외부 서비스를 써요. 브라우저가 이 저장소로 바로 업로드하고 바로 스트리밍해요.

필요한 것

  • Docker와 Docker Compose가 설치된 Linux 서버. 처음에는 vCPU 2개, RAM 4GB면 충분해요. 프로세서를 가장 많이 쓰는 건 동영상 변환이에요.
  • 서버를 가리키는 도메인과 열려 있는 80, 443 포트. 인증서는 Caddy가 알아서 받아요.
  • 동영상을 외부 저장소에 두지 않는다면 동영상을 담을 디스크 공간, 그리고 워커의 임시 파일을 위한 공간. 변환 중인 가장 큰 동영상 크기의 약 2.5배가 필요해요.
  • 이메일 발송용 SMTP 계정. 주소 인증, 비밀번호 재설정, 알림, 임시 링크의 일회용 코드를 보내요.
  • 선택: Google 로그인과 Cloudflare Turnstile 캡차용 키.

tapeshelf.com과 다른 점

  • 요금제와 결제가 없어요. Free도 Pro도, 결제 페이지도, 업그레이드 안내도 없어요.
  • tapeshelf.com에서 Pro 기능인 동영상 편집기, 페이지 숨기기, 임시 링크 비밀번호, 선반 익명 링크를 모두가 쓸 수 있어요.
  • 직접 정하기 전까지 동영상과 선반에 크기 제한이 없어요. 파일 크기 한도 하나, 선반 크기 한도 하나를 모두에게 똑같이 정할 수 있어요.
  • 다운로드는 바로, 최고 속도로 시작되고 월 횟수 제한도 없어요.
  • 삭제한 동영상은 기본으로 90일 동안 되돌릴 수 있어요.
  • 사이트 이름과 연락처 주소는 직접 정하고, 이용약관과 개인정보 처리방침도 직접 게시해요. 앱은 이 문서를 `/terms`와 `/privacy`에 보여 줘요.
  • 나머지는 같은 앱이에요. 선반과 묶음, 기본은 비공개인 동영상, 암호화 스트리밍, 요청과 교환, 게스트와의 교환, 임시 링크, 친구와 채팅, 알림, 신고, 관리자 페이지, 2단계 인증, 짧은 링크.

셀프 호스팅 서버는 그 자체로 독립된 세계예요. 그 서버의 계정끼리는 공유하고 교환할 수 있지만, tapeshelf.com 계정과는 그럴 수 없어요.

라이선스

코드는 GNU Affero General Public License v3.0으로 배포돼요. 무료로 사용하고, 연구하고, 수정하고, 운영할 수 있어요. 수정한 버전을 네트워크로 다른 사람이 쓰게 한다면, 라이선스에 따라 그 사람들에게도 소스 코드를 제공해야 해요.

tapeshelf라는 이름과 로고는 라이선스에 포함되지 않아요. 내 서버가 tapeshelf로 돌아간다고 말할 수는 있지만, 공식 tapeshelf.com인 것처럼 내세울 수는 없어요.

내 서버 없이 쓰려면

tapeshelf.com은 같은 앱을 운영하고, 서버 관리는 저희가 맡아요. Free로 시작하고, 더 필요할 때 Pro를 더하세요.

요금제 보기