Nextcloud Talk
Talk — это расширение платформы Nextcloud, позволяет совершать защищенные аудио и видеозвонки, а также обмениваться текстовыми сообщениями через веб-интерфейс или мобильное приложение Nextcloud Talk. Для связи собеседников используется WebRTC, а для защиты передаваемой информации — end-to-end шифрование. Все компоненты Nextcloud Talk открыты.
Посты о Nextcloud на Хабре можно пересчитать по пальцам, и в них нет ни слова о Nextcloud Talk, поэтому я решил заполнить этот пробел. Под катом расскажу, как узнал о Nextcloud, Spreed.ME, Spreed и Talk, как тестировал Talk и с какими проблемами столкнулся при установке и настройке Talk.
Как я узнал о Nextcloud
В 2013 году, два друга, Женя и Максим, купили в складчину неттоп и запустили домашнее хранилище на ownCloud. В то время Dropbox предлагал 500 Гбайт дискового пространства за $500 в год, неттоп с точно таким-же объемом диска хоть стоил немного дороже, но приватное хранилище казалось экономически выгоднее и просто интереснее, чем Dropbox Pro. Женя и Максим создали аккаунты для друзей и знакомых. Поначалу я не пользовался этим аккаунтом, но позже проникся идеей приватного хранилища и начал шарить фотоальбомы, да и к тому же всё работало без сбоев. В 2016 году Фрэнк Карлитчек (Frank Karlitschek), основатель ownCloud, покинул проект и создал форк под названием Nextcloud. Женя предположил, что ownCloud ждет стагнация и перенес наше хранилище с ownCloud на Nextcloud. Все файлы при этом остались на месте, а я просто поставил мобильный клиент Nextcloud на смартфон и стал пользоваться Nextcloud.
Что предшествовало Nextcloud Talk
С самого начала в Nextcloud App Store было доступно расширение Spreed.ME, от одноименной команды разработчиков. С помощью этого расширения можно было создать видеоконференцию внутри Nextcloud прямо в браузере, но, к сожалению, не было мобильных приложений для Android и iOS, а ещё для Spreed.ME требовалась установка дополнительного ПО — Spreed WebRTC server. Немного позже разработчики Nextcloud опубликовали в Nextcloud App Store расширение для видеозвонков под названием Spreed. Spreed было лучше интегрировано в Nextcloud, не требовало установки Spreed WebRTC server, но уступало Spreed.ME по функционалу.
В начале 2018 года, разработчики Nextcloud объявили о полной переработке Spreed и опубликовали мобильное приложение Nextcloud Talk в Google Play Store и Apple App Store. Расширение Spreed переименовали в Talk, но при этом идентификатор приложения в Nextcloud App Store остался прежним — Spreed, чтобы облегчить нам миграцию с Nextcloud 12 на 13. В Talk есть групповой текстовый чат, голосовые и видеозвонки с шарингом экрана. Мобильные приложения Nextcloud Talk для Android и iOS пока уступают веб-версии, но реализовано самое нужное — звонки со смартфона на смартфон.
Как я тестировал Nextcloud Talk
Хотелось поскорее опробовать Nextcloud Talk, и не дожидаясь официального релиза Nextcloud 13, Женя обновил Nextcloud до 13.0.0 RC 1 на неттопе. После этого мы установили Nextcloud Talk на смартфоны и созвонились. Соединение прошло, но не было ни звука, ни видео; мы видели только чёрный экран. Я связался с разработчиком приложения для Android по имени Марио (Mario Đanić), и он объяснил, что для общения через Интернет нам не хватает TURN-сервера.
Nextcloud Talk использует WebRTC (peer-to-peer) для организации канала связи между двумя устройствами, и так как у наших смартфонов нет белых IP-адресов, то установка соединения затруднена. В качестве TURN-сервера решили использовать coturn, быстро развернули на неттопе и указали белый IP-адрес неттопа в настройках Talk, в админке Nextcloud. После этого появилось видео и звук, но первое время мы не замечали отсутствие всплывающих уведомлений при звонке. Уведомления появились после установки и активации расширения Notifications в Nextcloud.
Nextcloud Talk: мобильное приложение и веб-интерфейс
В мобильном приложении Nextcloud Talk, на момент написания статьи, реализованы только видеозвонки и список контактов. Мой список контактов в приложении подгружается с сервера Nextcloud на неттопе.
В веб-версии возможностей больше, например, я могу пригласить в конференцию собеседника, у которого нет аккаунта в нашем облачном хранилище. В веб-версии есть чат, но, к сожалению, без смайликов и стикеров.
В будущем, разработчики Nextcloud Talk планируют добавить к чату XMPP совместимое API, чтобы сторонние приложения, поддерживающие протокол XMPP, могли общаться через Nextcloud Talk сервер. Скорее всего, чат появится в мобильном приложении Nexcloud Talk 2.0, но пока неизвестно, когда выйдет 2.0.
Установка Nextcloud 13 и Talk
Сейчас на неттопе запущен Docker-контейнер с Nextcloud 13, а все исходники, необходимые для сборки контейнера, мы опубликовали на GitHub. Это была идея Жени, он собрал Docker-файлы от различных веб-сервисов, которыми мы пользуемся, добавил скрипт, который собирает контейнеры и назвал это всё «Mr. Meeseeks Box» (сокращённо mbb). Если хотите по-быстрому развернуть у себя Nextcloud Talk и пощупать всё это своими руками, но не очень хорошо разбираетесь в Docker, то вам понравится mmb.
Итак, Для начала поставьте Git, Docker и Docker Compose:
Затем клонируйте репозиторий mmb:
Соберите два контейнера MariaDB и Nextcloud выполнив следующие команды:
Если вы проделываете это на Raspberry Pi, или любом другом устройстве с ARM-процессором, то замените amd64 на armhf.
Теперь запустите оба контейнера, но перед этим убедитесь, что порт 3306 не занят:
Откройте в браузере http://[ваш ip-адрес]:8001/nc, и если увидите страницу создания учетной записи администратора, то вы всё сделали правильно. Задайте логин и пароль администратора, затем перейдите в панель управления, и в правом верхнем углу нажмите Настройки → Приложения. В длинном списке приложений найдите Talk и активируйте. Теперь создайте ещё один аккаунт в Nextcloud и попробуйте созвониться через браузер либо через мобильное приложение внутри локальной сети.
Если есть белый IP-адрес, то можете пробросить 8001 порт наружу, чтобы созвониться через интернет, но тогда понадобится поднять TURN-сервер. Это можно сделать с помощью mmb, собрав и запустив контейнер с coturn:
Если вы проделываете это на Raspberry Pi, или любом другом устройстве с ARM-процессором, то замените amd64 на armhf.
После того, как поднимите TURN-сервер, откройте админку Nextcloud, в меню слева выберите «Разговор» (Talk), впишите свой белый IP-адрес в поле «сервер TURN», а в поле для секрейтной фразы впишите «secret». Если хотите использовать другую секретную фразу, то загляните в файл mmb/coturn/docker-compose.yml, измените значение переменной AUTH_SECRET и перезапустите контейнер с coturn:
После этого можете создать в своём Nextcloud аккаунты для друзей, поставить приложение Nextcloud Talk на смартфон и звонить друг другу.
Nextcloud talk windows client
Connect to your Nextcloud from Windows, macOS or Linux.
Mobile
Use your Nextcloud on the go with our Android and iOS apps.
Server
Stay in control of your data!
Choose one of the providers or download the Nextcloud server for self hosting.
Read the documentation
Here you can find our manuals:
Need help?
Discuss using, installing or maintaining Nextcloud in our support channels.
These consist of users helping each other. Consider helping out others, too!
Browse dozens of free apps and services you could use with your Nextcloud on the Nextcloud app store.
Get Involved
If you want to help out with developing and testing, grab a daily build. Find our GitHub project here and find our issue tracker for the server here.
Latest testing version is 21 RC2
Help test our clients: Android Release Candidate client on Play store and Android Beta client on F-Droid. For iOS, join Testflight for iOS
The archive should be extracted in a folder your web server has access to. Latest stable version: 21.0.1 (Changelog)
Follow the Nextcloud Admin Manuals installation chapter. If you already run Nextcloud, refer to the upgrade manual.
Need an enterprise solution?
- Download the .tar.bz2 or .zip archive.
- Check package integrity using MD5 (.tar.bz2 / .zip) or SHA256 (.tar.bz2 / .zip)
- Verify the authenticity via PGP (.tar.bz2 /.zip). The Nextcloud GPG key is here.
You can already find server packages included with many distributions or provided by active community members. Find an overview of packages for various distributions as well as Docker and snap images here. Can’t find packages you need? Ask your distribution for packages or contribute to creating them!
Nextcloud Server does not support Microsoft Windows. We recommend using a virtual machine or docker image on Windows Server.
Security note: To receive information about updates and security issues, we recommend a subscription to our low-traffic newsletter.
Release channels: We offer Release Channels with production, stable, beta and daily-branches. This gives you the opportunity to choose your balance between stability and features.
The Web Installer is the easiest way to install Nextcloud on a web space. It checks the dependencies, downloads Nextcloud from the official server, unpacks it with the right permissions and the right user account. Finally, you will be redirected to the Nextcloud installer.
- Right-click here and save the file to your computer
- Upload setup-nextcloud.php to your web space
- Point your web browser to setup-nextcloud.php on your webspace
- Follow the instructions and configure Nextcloud
- Login to your newly created Nextcloud instance!
You can find further instructions in the Nextcloud Admin Manual.
Note that the installer uses the same Nextcloud version as available for the built in updater in Nextcloud. After a major release it can take up to a month before it becomes available through the web installer and the updater. This is done to spread the deployment of new major releases out over time.
Nextcloud Server does not support Microsoft Windows. We recommend using a virtual machine or docker image on Windows Server.
Security note: To receive information about updates and security issues, we recommend a subscription to our low-traffic newsletter.
Release channels: We offer Release Channels with production, stable, beta and daily-branches. This gives you the opportunity to choose your balance between stability and features.
You can find further instructions in the Nextcloud Admin Manual. If you already run Nextcloud, refer to the upgrade manual for moving to new Nextcloud releases.
Security note: We recommend a subscription to our low-traffic newsletter for notifications on updates and security issues. Find the «>public Nextcloud GPG key here.
Looking for repositories of previous major releases?
Nextcloud Server does not support Microsoft Windows. We recommend using the Nextcloud Appliance on Windows Server.
Virtual Machine image
The Nextcloud VM is designed to be an easy way for less technical users to get Nextcloud up and running or to test it out. It builds on Ubuntu Linux and makes configuration easy.
If you are looking for a more extensive virtual machine with many scripts to easily set up advanced functionality, get the full-version VM from Hansson IT.
For small businesses, Nextcloud GmbH maintains a free appliance built on the Univention Corporate Server (UCS) with easy graphical setup and web-based administration. It includes user management via LDAP as well as optional online office integration. Get the SME/Enterprise appliance.
Docker image
Several Nextcloud community members maintain a Docker image. It supports a wide range of architectures, releases, various webservers, databases and more.
Snap package
Canonical and the Nextcloud community maintain a Nextcloud Snap, including release channels and quick and easy deployment for easy home use.
Security note: To receive information about updates and security issues, we recommend a subscription to our low-traffic newsletter.
Release channels: We offer Release Channels with production, stable, beta and daily-branches. This gives you the opportunity to choose your balance between stability and features. Most of our Appliances support these release channels or let you fix on specific major versions.
Use the desktop clients to keep your files synchronized between your Nextcloud server and your desktop. Select one or more directories on your local machine and always have access to your latest files wherever you are. Learn more about our clients here.
Looking for integration apps like browser add-ins for Passwords, a feedreader and more? Check our app store for integrations!
You can already find Nextcloud Desktop client packages included in openSUSE Tumbleweed, Arch Linux and Fedora. You can find Ubuntu/Debian packages in this PPA. Packages for Alpine Linux over here. See the latest state and more packages in this post on our forums. Can’t find packages? Ask your distribution or contribute to creating them!
Nextcloud Files is using WebDAV, so you can also try out any other client you want!
Try also our Outlook and Thunderbird integration: Sync your files, calendars, contacts and tasks with Outlook or Mozilla Thunderbird
The Nextcloud mobile apps are available in various app stores. Learn more about our clients here.
The apps allow you to access, sync and upload your data and feature instant upload for photos and videos, upload management and more features.
Looking for mobile apps for Deck, News, Passwords and more? Check our app store!
Nextcloud is using open standards like CalDAV, WebDAV and IMAP so many independent third party clients can connect to it.
You have javascript disabled. We tried to make sure the basics of our website work but some functionality will be missing.