Skip to content

rus-99-pk/nextcloud-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Nextcloud + Talk (Docker Compose)

Полностью готовая сборка Nextcloud с поддержкой HTTPS (Let's Encrypt) и настроенным TURN-сервером (Coturn) для аудио/видео звонков. Разворачивается через Docker Compose.

📋 Требования

  • OS: Ubuntu 20.04 / 22.04 (или любой Linux с Docker).
  • Домен: Обязательно наличие домена (A-запись), направленного на IP сервера.
  • Docker: Установленные Docker Engine и Docker Compose plugin.

🛡️ Настройка Firewall (Группы безопасности)

Для корректной работы веб-интерфейса и звонков, в панели управления облаком (например, Cloud.ru Evolution -> Security Groups) необходимо открыть следующие входящие порты (Inbound Rules):

Сервис Порт Протокол Описание
SSH 22 TCP Управление сервером
Web (HTTP) 80 TCP Получение SSL сертификатов и редирект
Web (HTTPS) 443 TCP Основной доступ к Nextcloud
TURN Signalling 3478 TCP & UDP Соединение для звонков (Talk)
TURN Media 49152-49160 UDP Передача голоса и видео (RTP)

⚠️ Важно: Убедитесь, что для порта 3478 открыты оба протокола (TCP и UDP), а диапазон 49152-49160 открыт именно по UDP.

🚀 Установка и Запуск

1. Клонирование и настройка переменных

Создайте папку проекта, поместите туда docker-compose.yml и создайте файл .env:

cp .env.example .env
nano .env

Заполните .env своими данными (домен, пароли).

2. Настройка лимитов Nginx

Создайте файл конфигурации для загрузки больших файлов:

echo "client_max_body_size 10G;" > upload_size.conf

3. Конфигурация Coturn

Создайте файл turnserver.conf. Внимание: В этом файле переменные из .env не подставляются автоматически. Впишите домен и секрет вручную.

nano turnserver.conf

Вставьте содержимое:

listening-port=3478
fingerprint
use-auth-secret
# Вставьте то же значение, что и в .env (TURN_SECRET)
static-auth-secret=ВАШ_СЕКРЕТ_ИЗ_ENV
# Вставьте ваш домен
realm=ВАШ.ДОМЕН.RU
total-quota=100
bps-capacity=0
stale-nonce
no-multicast-peers
log-file=stdout
min-port=49152
max-port=49160

4. Запуск контейнеров

docker compose up -d

⚙️ Настройка Nextcloud Talk (после установки)

  1. Зайдите на сайт https://ваш-домен.ru.
  2. Завершите установку Nextcloud (создайте админа).
  3. Установите приложение Talk (звонки) из магазина приложений.
  4. Перейдите в Настройки администрирования -> Talk.
  5. В блоке TURN servers добавьте новый сервер:
    • Server: ваш-домен.ru
    • Port: 3478
    • Turn secret: (Ваш секрет из .env)
    • Protocols: UDP and TCP
  6. Нажмите Сохранить. Если появилась зеленая галочка — всё работает.

🛠️ Полезные команды

Посмотреть логи получения сертификатов:

docker logs -f nginx-proxy-acme

Перезапустить контейнеры (применив изменения):

docker compose up -d --force-recreate

Остановить всё:

docker compose down

About

Selfhosted Nextcloud + Talk in Docker Compose

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors