======MediaCMS установка в VMM DSM 7.2====== {{:software:nas:video_mediacms_1.jpg?450 |}}MediaCMS — это современная полнофункциональная система управления видео и медиа с открытым исходным кодом. Она разработана для удовлетворения потребностей современных веб-платформ для просмотра и обмена медиа. Ее можно использовать для создания небольшого или среднего видео- и медиапортала за считанные минуты. Он построен в основном с использованием современного стека Django + React и включает REST API. Демоверсия доступна по адресу https://demo.mediacms.io \\ **Установка прозводиться на чистую Ubuntu Server 24.04** ====Основный функции==== * Полный контроль над вашими данными : размещайте их самостоятельно! * Поддержка нескольких рабочих процессов публикации : общедоступных, частных, неперечисленных и пользовательских. * Современные технологии : Django/Python/Celery, React. * Поддержка различных типов медиа : видео, аудио, изображения, PDF * Несколько вариантов классификации медиа : категории, теги и пользовательские настройки * Несколько вариантов обмена медиа : обмен в социальных сетях, генерация кода для встраивания видео * Удобный поиск мультимедиа : дополнен функцией поиска в реальном времени * Плейлисты для аудио- и видеоконтента : создание плейлистов, добавление и изменение порядка контента * Адаптивный дизайн : включая светлые и темные темы * Расширенное управление пользователями : разрешить самостоятельную регистрацию, только по приглашениям, закрыто. * Настраиваемые действия : разрешить загрузку, добавлять комментарии, добавлять отметки «Нравится», «Не нравится», сообщать о медиафайлах * Параметры конфигурации : изменение логотипов, шрифтов, стиля, добавление дополнительных страниц. * Улучшенный видеоплеер : настраиваемый видеоплеер video.js с несколькими вариантами разрешения и скорости воспроизведения * Несколько профилей транскодирования : разумные значения по умолчанию для нескольких измерений (240p, 360p, 480p, 720p, 1080p) и нескольких профилей (h264, h265, vp9) * Адаптивная потоковая передача видео : возможна через протокол HLS * Субтитры/CC : поддержка многоязычных файлов субтитров * Масштабируемое транскодирование : транскодирование через приоритеты. Экспериментальная поддержка для удаленных работников * Загрузка файлов по частям : для приостанавливаемой/возобновляемой загрузки контента * REST API : документировано через Swagger ====Философия==== Авторы считают, что существуют потребности в качественных веб-приложениях с открытым исходным кодом, которые можно использовать для создания общественных порталов и поддержки совместной работы. При создании MediaCMS мы ставим перед собой три цели: а) обеспечить всю функциональность, которую можно ожидать от современной системы, б) обеспечить простоту установки и обслуживания, в) обеспечить простую настройку и добавление функций. ====Лицензия==== MediaCMS выпускается под лицензией [[https://github.com/mediacms-io/mediacms/blob/main/LICENSE.txt|GNU Affero General Public License v3.0]]. Авторские права: [[http://https://github.com/mgogoulos|Markos Gogoulos]]. ====Аппаратное обеспечение==== Для небольшой или средней установки с несколькими часами видео, загружаемыми ежедневно, и несколькими сотнями активных пользователей, просматривающих контент ежедневно, 4 ГБ ОЗУ / 2-4 ЦП как минимум будет достаточно. Для более крупной установки с многими часами видео, загружаемыми ежедневно, рассмотрите возможность добавления большего количества ЦП и большего количества ОЗУ. Что касается дискового пространства, подумайте, какими будут потребности. Общее правило — умножить на три размер ожидаемых загруженных видео (поскольку система сохраняет исходные версии, закодированные версии плюс HLS), так что если вы получаете 1G видео ежедневно и сохраняете их все, вам следует рассмотреть диск на 1T на год (1G * 3 * 365). ====Технологии==== Это программное обеспечение использует следующий список потрясающих технологий: Python, Django, Django Rest Framework, Celery, PostgreSQL, Redis, Nginx, uWSGI, React, Fine Uploader, video.js, FFMPEG, Bento4 =====Установка/Обслуживание===== Есть два способа запустить MediaCMS: через Docker Compose и через установку на сервере с помощью скрипта автоматизации, который устанавливает и настраивает все необходимые службы. Найдите соответствующие страницы: ====Подготовка==== * [[software:nas:synology_vmm|Установка Synology VMM]] * [[software:linux_server:ubuntu_server|Установка Ubuntu Server]] * Получим права пользователя root sudo su {{:software:nas:mediacms_2.png?|}} Перед установкой какого либо программного обеспечения, необходимо обновить репозитории и установить свежие версии пакетов. apt update && sudo apt upgrade -y {{:software:nas:python_install_0.png?|}} ===Установка Puthon=== * Проверим наличие python --version {{:software:nas:python_install_1.png?|}} Установим необходимые зависимости для добавления репозитория. Авторизуйтесь от имени суперпользователя и проведите установку нескольких утилит apt install -y software-properties-common {{:software:nas:python_install_3.png?|}} Включите в список системных репозиториев еще один add-apt-repository -y ppa:deadsnakes/ppa {{:software:nas:python_install_3.png?|}} Установим Python apt install python {{:software:nas:python_install_7.png?|}} * Проверим установку python --version {{:software:nas:python_install_8.png?|}} ===Установка Puthon-pip=== * Проверим наличие pip3 --version {{:software:nas:pip_install_1.png?|}} Установим pip3 apt install python {{:software:nas:pip_install_2.png?|}} * Проверим установку pip3 --version {{:software:nas:pip_install_3.png?|}} ===Установка unzip=== * Проверим наличие unzip --version {{:software:nas:unzip_install_1.png?|}} * Установим пакет apt install unzip {{:software:nas:unzip_install_2.png?|}} * Проверим установку unzip --version {{:software:nas:unzip_install_3.png?|}} ===Установка django=== * Проверим наличие django-admin --version {{:software:nas:django_install_1.png?|}} Узнайте версию установленного на вашем сервере Python (на Ubuntu Server 20.04 интерпретатор Python установлен по умолчанию): * Установим пакет python3 -V {{:software:nas:django_install_2.png?|}} * Запустим установку Django apt install python3-django {{:software:nas:django_install_3.png?|}} * Проверим установку django-admin --version {{:software:nas:django_install_4.png?|}} Проверьте список источников репозиториев (sources.list) на придмет записей security sudo sensible-editor /etc/apt/sources.list Если не хватает, дополните из следуещей записи ############################################################# ########## Ubuntu 22.04 LTS (Jammy Jellyfish) ############## ############################################################# deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse deb http://archive.canonical.com/ubuntu/ jammy partner deb-src http://archive.canonical.com/ubuntu/ jammy partner ====Установка=== {{:software:nas:mediacms_10.png?|}} Основные зависимости: Python3, Django3, Celery, PostgreSQL, Redis, ffmpeg. Любая система, в которой могут быть установлены эти зависимости, может запустить MediaCMS. Но мы настоятельно рекомендуем устанавливать на Linux Ubuntu (проверено на версиях 20, 22). Установка в системе Ubuntu с установленной утилитой git должна быть завершена за несколько минут с помощью следующих шагов. Убедитесь, что вы запускаете его как пользователь root, на чистой системе, так как автоматический скрипт установит и настроит следующие службы: Celery/PostgreSQL/Redis/Nginx и перезапишет любые существующие настройки. Получим права пользователя root sudo su {{:software:nas:mediacms_2.png?|}} Автоматизированный скрипт — протестирован на Ubuntu 20, Ubuntu 22 и Debian Buster\\ Установка со внутреннего сервера mkdir /home/mediacms.io && cd /home/mediacms.io/ git clone http://192.168.1.85:8080/root/mediacms cd /home/mediacms.io/mediacms/ && bash ./install.sh {{:software:nas:mediacms_6.png?|}} Установка с официального репозитория mediacms-io mkdir /home/mediacms.io && cd /home/mediacms.io/ git clone https://github.com/mediacms-io/mediacms cd /home/mediacms.io/mediacms/ && bash ./install.sh {{:software:nas:mediacms_6.png?|}} Это запустит установку, во время которой вам будет задано несколько вопросов. Welcome to the MediacMS installation! This script will attempt to perform a system update, install required dependencies, install and configure PostgreSQL, NGINX, Redis and a few other utilities. It is expected to run on a new system %%**with no running instances of any these services**%%. Make sure you check the script before you continue. Then enter yes or no Введите yes. yes\\ OK!\\ Performing system update and dependency installation, this will take a few minutes. Все можно оставить по умолчанию Enter portal URL, or press enter for localhost :\\ Enter portal name, or press enter for 'MediaCMS : {{:software:nas:mediacms_11.png?|}} Процесс установки {{:software:nas:mediacms_13.png?|}} В конце установки мы должны увидеть это: MediaCMS installation completed, open browser on http://localhost/ and login with user admin and password ds89_uy2ls0sk {{:software:nas:mediacms_14.png?|}} Перезагрузим приложение systemctl restart mediacms {{:software:nas:mediacms_15.png?|}} В веб-браузере переходим на ip-адрес нашего сервера и ароизведя регистрацию, загружаем файлы {{:software:nas:mediacms_18.png?|}} {{:software:nas:mediacms_19.png?|}} =====Дополнения===== ====Сбросить пароль администратора==== Вы можете сбросить пароль через оболочку Django - командную строку. Запуск от имени пользователя root source /home/mediacms.io/bin/activate cd /home/mediacms.io/mediacms python manage.py shell Вы находитесь в командной строке. Теперь запустите from users.models import User user = User.objects.filter(username='admin')[0] user.set_password('new_password') user.save() Затем вы сможете войти в систему, используя комбинацию admin new_password. * [[https://github.com/mediacms-io/mediacms/discussions/81|См. подробнее ответ на комментарий]]