команда-контейнер
Team-container — это набор контейнеров, которые настраивают ваш собственный сервер совместной работы. Эта настройка предназначена для использования вместе с журнальной статьей в журнале c't. См. (https://www.heise.de/select/ct/2020/9/2007712573850503640). Статья защищена платным доступом, но установка работает и без статьи.
Инструменты в этой коллекции
- Трефик Маршрутизатор
- Следующее облако
- Rocket.Чат
- Джитси Встреча
- Открытые слайды
- Плик
Цель, предпосылки и архитектура
Цель состоит в том, чтобы предоставить частный сервер совместной работы для небольшой и средней команды, который предоставляет основные услуги, оставляя при этом вам контроль над тем, где хранятся данные. Услуги:
- Nextcloud для обмена документами и календарями
- Rocket.Chat для хорошо организованного текстового чата в браузере. Доступны приложения для мобильных платформ.
- Jitsi Meet для видеоконференций на базе браузера. Доступны приложения для мобильных платформ.
- Опенслайды для управления собраниями клубов и организаций
- Plik — это масштабируемая и удобная система загрузки временных файлов (например, wetransfer).
Все, что вам нужно, это
- Linux-сервер, предпочтительно работающий под управлением Ubuntu 18.04 LTS или другой версии Debian GNU/Linux. В вики есть список совместимости для некоторых хостинг-провайдеров.
- Доменное имя, например example.org, и четыре поддомена, указывающие на ваш сервер, например www.example.org, cloud.example.org,chat.example.org и video.example.org.
- базовый опыт работы с Linux-терминалом
Знание технологии контейнеров или других типичных тем администрирования Linux не требуется.
Первый контейнер ((Kubernetes, Rancher, helm), который вы устанавливаете, содержит Traefik. Traefik направляет входящий трафик либо на веб-сервер nginx, либо на один из трех других контейнеров, которые вы установите впоследствии. В каждом из этих контейнеров работает экземпляр Nextloud, Rocket. Чат или Jitsi Meet Решение о маршрутизации зависит от имени сервера, указанного при настройке контейнеров. Все четыре сервера должны иметь одно и то же имя домена.
Дорожная карта / Внесение вклада
В нашей повестке дня много улучшений. Загляните на доску проектов на GitHub и смело создавайте проблемы или пиаритесь!
Начиная
- подготовьте сервер с текущей версией сервера Linux (протестировано с Ubuntu Server 18.04 LTS)
- настройте четыре записи DNS для вашего сервера (например, www.example.org, cloud.example.org,chat.example.org, video.example.org)
- клонируйте этот репозиторий:
git clone https://github.com/ct-open-source/team-container
- перейдите в папку Team-Container
- запустите
sudo install.sh
- откройте «values-setup.yaml». Введите свой адрес электронной почты, установите для производства значение true, введите имя главного сервера (например, www) и имя домена.
- установите Traefik, маршрутизатор:
helm install setup team-setup --values values-setup.yaml
- подождите несколько минут — пока https://yourserver.example.com не вернет страницу приветствия nginx с использованием действующего сертификата Let's Encrypt TLS. Traefik и nginx теперь работают.
Установить Nextcloud
- откройте «values-nextcloud.yaml». Введите имя сервера (например, облако), имя домена (например, example.org), имя администратора Nextcloud и первоначальный пароль для администратора Nextcloud.
- установить Nextcloud:
helm install nextcloud team-nextcloud --values values-nextcloud.yaml
- Через несколько минут ваш собственный сервер Nextcloud будет запущен под https://cloud.example.org. Вы можете войти в систему как администратор с паролем, который вы указали на последнем шаге. Продолжайте и добавляйте обычных пользователей. Или
Установить Rocket.Chat
- откройте «values-chat.yaml». Введите имя сервера (например, чат), имя домена (например, example.org), имя администратора Rocket.Chat, первоначальный пароль администратора Rocket.Chat и его адрес электронной почты.
- установить Rocket.Chat:
helm install chat team-chat --values values-chat.yaml
- через несколько минут ваш собственный сервер Rocket.Chat будет запущен под https://chat.example.org. Вы можете войти в систему как администратор с паролем, который вы указали на последнем шаге. Продолжайте и добавляйте обычных пользователей.
Установите Jitsi Meet
- откройте «values-video.yaml». Введите имя сервера (например, видео) и имя домена (например, example.org).
- установить Jitsi Meet:
helm install video team-video --values values-video.yaml
- через несколько минут ваш собственный сервер видеочата Jitsi Meet будет запущен под https://video.example.org.
- пожалуйста, обратитесь к вышеупомянутым веб-сайтам проекта для получения помощи по использованию услуг.
Установите Openslides (программное обеспечение для сборок)
- откройте «values-openslides.yaml». Введите имя сервера (например, клуб) и имя домена (например, example.org).
- установить Openslides:
helm install openslides team-openslides --values values-openslides.yaml
- через несколько минут ваш собственный сервер Openslides будет запущен под https://club.example.org.
- пожалуйста, обратитесь к вышеупомянутым веб-сайтам проекта для получения помощи по использованию услуг.
Что сделать / Известные проблемы
- не работает с IPv6 (проблемы с генерацией сертификата)