свой сервер
tapeshelf на своём сервере
tapeshelf — открытый проект под лицензией AGPL-3.0. Приложение, на котором работает tapeshelf.com, можно запустить и на своём сервере, со своим хранилищем и своими правилами.
Один стек Docker Compose
Всё запускается из одного compose-файла на одном сервере.
- Caddy
- Веб-сервер. Сам получает HTTPS-сертификаты от Let's Encrypt, отдаёт приложение и передаёт запросы в API.
- API
- Серверная часть: аккаунты, полки, проверка доступа на каждом запросе, обмены, ссылки, чат и уведомления.
- Воркер с ffmpeg
- Перекодирует загрузки в зашифрованный HLS для просмотра, убирает метаданные из новых файлов, собирает видео после монтажа, делает обложки и превью, отправляет письма.
- PostgreSQL
- База данных.
- Redis
- Очереди и обновления в реальном времени.
- S3-совместимое хранилище
- RustFS рядом с приложением или внешний сервис, например Hetzner Object Storage или AWS S3. Браузер загружает видео прямо туда и оттуда же его воспроизводит.
Что понадобится
- Сервер на Linux с Docker и Docker Compose. Для начала хватит 2 vCPU и 4 ГБ памяти. Больше всего процессор занят перекодированием видео.
- Домен, который указывает на сервер, и открытые порты 80 и 443. Сертификат Caddy получит сам.
- Место на диске под видео, если они хранятся не во внешнем хранилище, и под временные файлы воркера: примерно в два с половиной раза больше самого большого видео, которое сейчас перекодируется.
- SMTP-аккаунт для писем: подтверждение адреса, сброс пароля, уведомления и одноразовые коды для временных ссылок.
- По желанию: ключи для входа через Google и для капчи Cloudflare Turnstile.
Чем отличается от tapeshelf.com
- Нет ни тарифов, ни оплаты, а значит, нет Free и Pro, страницы оплаты и предложений перейти на Pro.
- Монтаж, скрытая страница, пароли на временных ссылках и анонимные ссылки на полку, которые на tapeshelf.com входят в Pro, здесь есть у всех.
- Размер видео и полки не ограничен, пока вы сами не поставите лимит. Можно задать один лимит на файл и один на полку, общие для всех.
- Скачивание начинается сразу, на полной скорости и без месячного счётчика.
- Удалённые видео по умолчанию можно вернуть в течение 90 дней.
- Название сайта и адрес для связи задаёте вы, и правила с политикой конфиденциальности публикуете тоже свои. Приложение покажет их на `/terms` и `/privacy`.
- В остальном это то же приложение: полки и стопки, видео, приватные по умолчанию, зашифрованный просмотр, запросы и обмены, обмены с гостями, временные ссылки, друзья и чат, уведомления, жалобы, админка, двухэтапный вход и короткие ссылки.
Свой сервер — отдельный мир. Его пользователи делятся и меняются друг с другом, а не с аккаунтами на tapeshelf.com.
Лицензия
Код распространяется под лицензией GNU Affero General Public License v3.0. Его можно бесплатно использовать, изучать, менять и запускать. Если вы даёте людям пользоваться изменённой версией по сети, лицензия требует предложить им и её исходный код.
Название и логотип tapeshelf лицензия не покрывает. Писать, что ваш сервер работает на tapeshelf, можно. Выдавать его за официальный tapeshelf.com нельзя.
Без своего сервера
На tapeshelf.com работает то же приложение, а за сервером следим мы. Начните с Free и подключите Pro, когда понадобится больше.
Посмотреть тарифы