В данной статье я расскажу, как установить Peertube на Synology DS220+ с использованием docker и docker-compose
PeerTube – это децентрализованная платформа для видеохостинга, которая позволяет пользователям загружать, просматривать и обмениваться видеофайлами. Она основана на технологии P2P (peer-to-peer), что означает, что видеофайлы хранятся на компьютерах пользователей, а не на централизованном сервере. Это позволяет уменьшить нагрузку на сервера и обеспечить более быстрый доступ к видеофайлам. Peertube также поддерживает открытые стандарты, такие как WebTorrent и ActivityPub, что позволяет пользователям обмениваться видеофайлами между различными платформами и социальными сетями.
Предполагается, что уже у вас установлен docker из центра приложений Synology. Если нет, то устанавливаем его от туда.
Для запуска Peertube нам понадобится два файла – docker-compose.yml и .env
Содержание docker-compose.yml делаем таким:
version: "3.8"
services:
peertube:
image: chocobozzz/peertube:production-bullseye
container_name: peertube_frontend
environment:
LC_ALL: C.UTF-8
LANG: C.UTF-8
networks:
default:
ipv4_address: 178.18.0.42
env_file:
- .env
ports:
- "1935:1935" #порт для rmtp-трансляций
- "3001:9000" # порт для web-интерфейса
volumes:
- assets:/app/client/dist
- ./data:/data
- ./config:/config
depends_on:
- postgres
- redis
restart: "always"
postgres:
image: postgres:13-alpine
container_name: postgres_peertube
env_file:
- .env
volumes:
- ./db:/var/lib/postgresql/data
restart: "always"
redis:
image: redis:6-alpine
container_name: redis_peertube
volumes:
- ./redis:/data
restart: "always"
networks:
default:
ipam:
driver: default
config:
- subnet: 178.18.0.0/16
#external: true
volumes:
assets:
Необходимо создать подкаталоги data,dedis,db,config в каталоге где лежит docker-compose.yml
и создать .env со следующим содержимым:
POSTGRES_USER=peertube #имя пользователя postgres
POSTGRES_PASSWORD=12334435567 #пароль пользователя postgres
POSTGRES_DB=peertube # имя базы данных peertube
PEERTUBE_DB_USERNAME=peertube #имя пользователя базы данных
PEERTUBE_DB_PASSWORD=2143234532525 # пароль базы данных
PEERTUBE_DB_HOSTNAME=postgres
PEERTUBE_WEBSERVER_HOSTNAME=tube.morozoff.pro #имя хоста для инстанции perrtube
PEERTUBE_TRUST_PROXY=["127.0.0.1", "loopback", "172.18.0.0/16"] # доверенные проски
PEERTUBE_SECRET= #секретный ключ peertube, получаем командой openssl rand -hex 32
PEERTUBE_SMTP_USERNAME=test@mail.ru #пользователь электронной почты
PEERTUBE_SMTP_PASSWORD=пароль электронной почты
PEERTUBE_SMTP_HOSTNAME=smtp.mail.ru# сервер исходящей почты
PEERTUBE_SMTP_PORT=587 #порт исходящей почты
PEERTUBE_SMTP_FROM=test@mail.ru #от кого будет отправляться почта
PEERTUBE_SMTP_TLS=false #поддержка tls
PEERTUBE_SMTP_DISABLE_STARTTLS=false #поддержка startssl
PEERTUBE_ADMIN_EMAIL=test@mail.ru #почта администратора
Если все готово,
И в каталоге data/logs в файле peertube ищем пароль администратора для web-интерфейса для пользователя root.
Далее переходим по адресу nas_ip:3001(или имя хоста). Я у себя сделал реверс-прокси, и адрес localhost:3001 доступен по https://tube.morozoff.pro.
А вот пример, загруженного видео на peertube: