[Облачные сервисы, Звук] Funkwhale: наконец-то нормальный децентрализованный музыкальный сервис
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Grooveshark уже пять лет как закрыт. За это время появились десятки проектов поменьше с той же идеей — но на базе децентрализованных сетей. Проблема Grooveshark была в его централизации, которая позволила правообладателям завалить компанию исками, в итоге потопившими её. С тех пор любая музыкальная платформа с пользовательским контентом обязательно включает в слоганы «децентрализацию», «peer-to-peer», «криптографию» и конечно, блокчейн. У всех общие проблемы: несмотря на использование федеративных сетей и модных протоколов, всё управление стартапом сосредоточено в одном офисе. Пока платформа слишком мала чтобы её заметили, она слабо развивается. Стоит ей дорасти до более-менее крупной пользовательской базы, и через несколько месяцев она тонет под напором DMCA и судебных исков.
Единственной жизнеспособной альтернативой, которая не закроется в любой момент, становятся community-driven проекты без головного офиса (и зачастую вообще без юрлица). Но даже в этом случае нет гарантии, что в один прекрасный день используемый вами сервер/хаб не накроется медным тазом, а значит нужна ещё и селф-хостед версия. Список сужается до единиц проектов, а если добавить вменяемый интерфейс и относительную легкость в развёртывании и использовании ноды, то мы останавливаемся на Funkwhale.
Фичи
- Разумеется, проект бесплатный, децентрализованный, без стоящим над ним организации
- Редкое явление для подобных платформ, Funkwhale по протоколу Subsonic поддерживает сразу несколько (в том числе опенсорсных) приложений на iOS и Android, на десктопе есть Clementine
- Вытекает из предыдущего, платформой можно пользоваться на всех девайсах, раздавая музыку, скажем, с домашнего хранилища
- Хостить свою ноду (здесь их называют подами) необязательно, можно слушать с чужих
- Каналы Funkwhale доступны из других федеративных сетей по протоколу ActivityPub
- Чтобы захостить свой под не нужно часами долбиться с настройкой, есть вагон готовых сборок, и главное — нормально настроенный докер-образ!
- У проекта хорошая поддержка комьюнити, как пользователей, так и разработчиков
- Это опенсорс.
Разворачиваем свой под
Установить под можно на любую машину, и для вариантов с годами накопленных терабайтов музыки я бы рассматривал любой подкроватный сервер, подключенный к NAS. Кстати, судя по отдельным комментариям, под при желании можно запустить даже на Raspberry Pi, но я не проверял. У меня довольно мало музыки, поэтому я беру самый дешёвый VPS и разворачиваю систему на нём.
Заказываем сервер
Это статья в корпоративном блоге, поэтому берём сервер у VDSina. Я выбираю копеечный вариант с убунтой, хотя можно взять и любую другю систему, даже Windows Server. Но зачем?
Не забудьте при создании подключить свой SSH-ключ, это удобнее, чем импортировать его вручную.
Устанавливаем под
Самый простой вариант — поставить под из докера. Здесь нужно понимать нюанс использования: хорошей практикой считается импортирование всей музыки из прокси-каталога с символическими ссылками на реальные каталоги, которые при этом могут быть как угодно раскиданы по машине и даже лежать на примонтированном устройстве. При обычной установке Funkwhale может ходить по всему хосту и брать музыку откуда угодно. При установке в докере надо либо париться с пробросом, либо хранить всю музыку внутри контейнера. Для моего варианта с одним небольшим архивом музыки это подходит. Кстати, по умолчанию под ставится в один контейнер, но если вы планируете создать масштабный хаб с высокими нагрузками, можно рассмотреть атомарную установку, так как она отлично масштабируется. Здесь мы её рассматривать не будем, потому что это очень уж специфичный случай, но вот ссылка на мануал.
Docker
Разумеется, нужно установить сам докер и docker-compose. Подробно расписывать этот процесс нет смысла, вот доки: docker, docker-compose.
Создаем пользователя funkwhale
sudo useradd -r -s /usr/bin/nologin -m -d /srv/funkwhale -U -G docker funkwhale
cd /srv/funkwhale
Логинимся и дальше работаем из-под него
sudo -u funkwhale -H bash
Создаем файл .env
touch .env
chmod 600 .env # reduce permissions on the .env file since it contains sensitive data
cat > .env << EOF
# Replace 'your.funkwhale.example' with your actual domain
FUNKWHALE_HOSTNAME=your.funkwhale.example
# Protocol may also be: http
FUNKWHALE_PROTOCOL=https
# This limits the upload size
NGINX_MAX_BODY_SIZE=100M
# Bind to localhost
FUNKWHALE_API_IP=127.0.0.1
# Container port you want to expose on the host
FUNKWHALE_API_PORT=5000
# Generate and store a secure secret key for your instance
DJANGO_SECRET_KEY=$(openssl rand -hex 45)
# Remove this if you expose the container directly on ports 80/443
NESTED_PROXY=1
EOF
Создаем docker-compose.yml
version: "3"
services:
funkwhale:
container_name: funkwhale
restart: unless-stopped
# change version number here when you want to do an upgrade
image: funkwhale/all-in-one:1.0.1
env_file: .env
environment:
# adapt to the pid/gid that own /srv/funkwhale/data
- PUID=1000
- PGID=1000
volumes:
- /srv/funkwhale/data:/data
- /path/to/your/music/dir:/music:ro
ports:
- "5000:80"
/path/to/your/music/dir — путь, по которому зыгружается музыка. Тот самый прокси-каталог, например.
Поднимаем сервис
docker-compose up -d
Настраиваем reverse-proxy
Установим nginx, так как на чистой системе его ещё не было
sudo apt-get update
sudo apt-get install nginx
Применяем следующие команды:
export FUNKWHALE_VERSION="1.0.1"
# download the needed files
curl -L -o /etc/nginx/funkwhale_proxy.conf "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/1.0.1/deploy/funkwhale_proxy.conf"
curl -L -o /etc/nginx/sites-available/funkwhale.template "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/1.0.1/deploy/docker.proxy.template"
# create a final nginx configuration using the template based on your environment
set -a && source /srv/funkwhale/.env && set +a
envsubst "`env | awk -F = '{printf " $%s", $$1}'`" \
< /etc/nginx/sites-available/funkwhale.template \
> /etc/nginx/sites-available/funkwhale.conf
ln -s /etc/nginx/sites-available/funkwhale.conf /etc/nginx/sites-enabled/
Готово! Сервис доступен на порту 5000
Далее нужно будет зарегистрироваться в Funkwhale и импортировать музыку. Вот подробные доки для нетривиальных кейсов.
Заключение
Я рад, что наконец-то нашелся нормальный селф-хостед сервис для музыки, с которым не нужно проводить часы за установкой и настройкой. Вся процедура занимает минут пять, а продвинутая конфигурация хорошо описана в документации. При этом количество остальных плюшек впечатляет, особенно возможность выбрать под себя нормальное приложение для прослушивания на телефоне.
Хорошего пользования!
На правах рекламы
Виртуальные серверы с мгновенной активацией на Linux или Windows. Сервер готов к работе через минуту после оплаты!
оригинал
===========
Источник:
habr.com
===========
Похожие новости:
- [DevOps, Облачные сервисы] Семь паттернов пайплайнов непрерывной поставки (перевод)
- [Управление персоналом, Карьера в IT-индустрии] Разрабы приходят сюда жаловаться на бизнес. Другие разрабы здесь говорят им, что они сами виноваты
- [Виртуализация, Облачные сервисы, Kubernetes] Вебинар «Когда, кому и зачем переходить на Kubernetes со Swarm» 10 декабря от Mail.ru Group
- [Программирование, Разработка под iOS, Облачные сервисы] Интеграция CI/CD для нескольких сред с Jenkins и Fastlane. Часть 3 (перевод)
- [Законодательство в IT, Копирайт, Финансы в IT, Звук] Борьба за права или атмосфера паранойи — в мире музыки еще не определились, что выбрать
- [IT-инфраструктура, Облачные сервисы] Архитектура и стоимость простого бессерверного веб-приложения Amazon Web Services
- [Гаджеты, Периферия, Носимая электроника, Звук] Личные пристрастия: о плеере с необычным форм-фактором, которого может не быть
- [Интерфейсы, Яндекс API, Расширения для браузеров, Старое железо, Звук] Не спешите выкидывать свой PolyCom
- [Safari, Облачные сервисы, Игры и игровые приставки] GeForce Now официально заработал на iOS
- [Информационная безопасность, Разработка веб-сайтов, Облачные сервисы] Вебинар DataLine «Защита веб-приложений: как это нужно делать сегодня» 26 ноября
Теги для поиска: #_oblachnye_servisy (Облачные сервисы), #_zvuk (Звук), #_muzyka (музыка), #_muzykalnye_servisy (музыкальные сервисы), #_funkwhale, #_grooveshark, #_blog_kompanii_vdsina.ru_hosting_serverov (
Блог компании VDSina.ru хостинг серверов
), #_oblachnye_servisy (
Облачные сервисы
), #_zvuk (
Звук
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:58
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Grooveshark уже пять лет как закрыт. За это время появились десятки проектов поменьше с той же идеей — но на базе децентрализованных сетей. Проблема Grooveshark была в его централизации, которая позволила правообладателям завалить компанию исками, в итоге потопившими её. С тех пор любая музыкальная платформа с пользовательским контентом обязательно включает в слоганы «децентрализацию», «peer-to-peer», «криптографию» и конечно, блокчейн. У всех общие проблемы: несмотря на использование федеративных сетей и модных протоколов, всё управление стартапом сосредоточено в одном офисе. Пока платформа слишком мала чтобы её заметили, она слабо развивается. Стоит ей дорасти до более-менее крупной пользовательской базы, и через несколько месяцев она тонет под напором DMCA и судебных исков. Единственной жизнеспособной альтернативой, которая не закроется в любой момент, становятся community-driven проекты без головного офиса (и зачастую вообще без юрлица). Но даже в этом случае нет гарантии, что в один прекрасный день используемый вами сервер/хаб не накроется медным тазом, а значит нужна ещё и селф-хостед версия. Список сужается до единиц проектов, а если добавить вменяемый интерфейс и относительную легкость в развёртывании и использовании ноды, то мы останавливаемся на Funkwhale. Фичи
Разворачиваем свой под Установить под можно на любую машину, и для вариантов с годами накопленных терабайтов музыки я бы рассматривал любой подкроватный сервер, подключенный к NAS. Кстати, судя по отдельным комментариям, под при желании можно запустить даже на Raspberry Pi, но я не проверял. У меня довольно мало музыки, поэтому я беру самый дешёвый VPS и разворачиваю систему на нём. Заказываем сервер Это статья в корпоративном блоге, поэтому берём сервер у VDSina. Я выбираю копеечный вариант с убунтой, хотя можно взять и любую другю систему, даже Windows Server. Но зачем? Не забудьте при создании подключить свой SSH-ключ, это удобнее, чем импортировать его вручную. Устанавливаем под Самый простой вариант — поставить под из докера. Здесь нужно понимать нюанс использования: хорошей практикой считается импортирование всей музыки из прокси-каталога с символическими ссылками на реальные каталоги, которые при этом могут быть как угодно раскиданы по машине и даже лежать на примонтированном устройстве. При обычной установке Funkwhale может ходить по всему хосту и брать музыку откуда угодно. При установке в докере надо либо париться с пробросом, либо хранить всю музыку внутри контейнера. Для моего варианта с одним небольшим архивом музыки это подходит. Кстати, по умолчанию под ставится в один контейнер, но если вы планируете создать масштабный хаб с высокими нагрузками, можно рассмотреть атомарную установку, так как она отлично масштабируется. Здесь мы её рассматривать не будем, потому что это очень уж специфичный случай, но вот ссылка на мануал. Docker Разумеется, нужно установить сам докер и docker-compose. Подробно расписывать этот процесс нет смысла, вот доки: docker, docker-compose. Создаем пользователя funkwhale sudo useradd -r -s /usr/bin/nologin -m -d /srv/funkwhale -U -G docker funkwhale
cd /srv/funkwhale Логинимся и дальше работаем из-под него sudo -u funkwhale -H bash
Создаем файл .env touch .env
chmod 600 .env # reduce permissions on the .env file since it contains sensitive data cat > .env << EOF # Replace 'your.funkwhale.example' with your actual domain FUNKWHALE_HOSTNAME=your.funkwhale.example # Protocol may also be: http FUNKWHALE_PROTOCOL=https # This limits the upload size NGINX_MAX_BODY_SIZE=100M # Bind to localhost FUNKWHALE_API_IP=127.0.0.1 # Container port you want to expose on the host FUNKWHALE_API_PORT=5000 # Generate and store a secure secret key for your instance DJANGO_SECRET_KEY=$(openssl rand -hex 45) # Remove this if you expose the container directly on ports 80/443 NESTED_PROXY=1 EOF Создаем docker-compose.yml version: "3"
services: funkwhale: container_name: funkwhale restart: unless-stopped # change version number here when you want to do an upgrade image: funkwhale/all-in-one:1.0.1 env_file: .env environment: # adapt to the pid/gid that own /srv/funkwhale/data - PUID=1000 - PGID=1000 volumes: - /srv/funkwhale/data:/data - /path/to/your/music/dir:/music:ro ports: - "5000:80" /path/to/your/music/dir — путь, по которому зыгружается музыка. Тот самый прокси-каталог, например. Поднимаем сервис docker-compose up -d
Настраиваем reverse-proxy Установим nginx, так как на чистой системе его ещё не было sudo apt-get update
sudo apt-get install nginx Применяем следующие команды: export FUNKWHALE_VERSION="1.0.1"
# download the needed files curl -L -o /etc/nginx/funkwhale_proxy.conf "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/1.0.1/deploy/funkwhale_proxy.conf" curl -L -o /etc/nginx/sites-available/funkwhale.template "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/1.0.1/deploy/docker.proxy.template" # create a final nginx configuration using the template based on your environment
set -a && source /srv/funkwhale/.env && set +a envsubst "`env | awk -F = '{printf " $%s", $$1}'`" \ < /etc/nginx/sites-available/funkwhale.template \ > /etc/nginx/sites-available/funkwhale.conf ln -s /etc/nginx/sites-available/funkwhale.conf /etc/nginx/sites-enabled/ Готово! Сервис доступен на порту 5000 Далее нужно будет зарегистрироваться в Funkwhale и импортировать музыку. Вот подробные доки для нетривиальных кейсов. Заключение Я рад, что наконец-то нашелся нормальный селф-хостед сервис для музыки, с которым не нужно проводить часы за установкой и настройкой. Вся процедура занимает минут пять, а продвинутая конфигурация хорошо описана в документации. При этом количество остальных плюшек впечатляет, особенно возможность выбрать под себя нормальное приложение для прослушивания на телефоне. Хорошего пользования! На правах рекламы Виртуальные серверы с мгновенной активацией на Linux или Windows. Сервер готов к работе через минуту после оплаты! оригинал =========== Источник: habr.com =========== Похожие новости:
Блог компании VDSina.ru хостинг серверов ), #_oblachnye_servisy ( Облачные сервисы ), #_zvuk ( Звук ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:58
Часовой пояс: UTC + 5