셀프 호스팅
내 서버에서 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를 더하세요.
요금제 보기