Это старая версия документа!
Содержание
MediaCMS установка в Docker DSM 7.2
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 выпускается под лицензией GNU Affero General Public License v3.0. Авторские права: 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 и через установку на сервере с помощью скрипта автоматизации, который устанавливает и настраивает все необходимые службы. Найдите соответствующие страницы:
Подготовка
создайте три новые папки внутри папки mediacms, и назовите их db, redis, uploads. Следуйте инструкциям на изображении ниже. Примечание : Будьте внимательны и вводите только строчные, а не заглавные буквы.
- compose.yaml
services: db: image: postgres:17 container_name: MediaCMS_DB healthcheck: test: ["CMD", "pg_isready", "-q", "-d", "mediacms", "-U", "mediacms"] timeout: 45s interval: 10s retries: 10 environment: POSTGRES_USER: mediacms POSTGRES_PASSWORD: mediacms POSTGRES_DB: mediacms TZ: Europe/Bucharest volumes: - /volume1/docker/mediacms/db:/var/lib/postgresql:rw restart: on-failure:5 migrations: image: mediacms/mediacms:latest container_name: MediaCMS_MIGRATION environment: ENABLE_UWSGI: no ENABLE_NGINX: no ENABLE_CELERY_SHORT: no ENABLE_CELERY_LONG: no ENABLE_CELERY_BEAT: no ADMIN_USER: admin ADMIN_PASSWORD: admin ADMIN_EMAIL: yourown@email command: ./deploy/docker/prestart.sh depends_on: - redis - db restart: on-failure web: image: mediacms/mediacms:latest container_name: MediaCMS_WEB healthcheck: test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/80' || exit 1 interval: 10s timeout: 5s retries: 3 start_period: 90s deploy: replicas: 1 ports: - 8068:80 environment: ENABLE_CELERY_BEAT: no ENABLE_CELERY_SHORT: no ENABLE_CELERY_LONG: no ENABLE_MIGRATIONS: no depends_on: - migrations volumes: - /volume1/docker/mediacms/uploads:/home/mediacms.io/mediacms/uploads:rw restart: on-failure celery_beat: image: mediacms/mediacms:latest container_name: MediaCMS-BEAT environment: ENABLE_UWSGI: no ENABLE_NGINX: no ENABLE_CELERY_SHORT: no ENABLE_CELERY_LONG: no ENABLE_MIGRATIONS: no depends_on: - redis restart: on-failure celery_worker: image: mediacms/mediacms:latest container_name: MediaCMS-WORKER deploy: replicas: 1 environment: ENABLE_UWSGI: no ENABLE_NGINX: no ENABLE_CELERY_BEAT: no ENABLE_MIGRATIONS: no depends_on: - migrations restart: on-failure redis: image: redis container_name: MediaCMS-REDIS hostname: redis healthcheck: test: ["CMD-SHELL", "redis-cli ping || exit 1"] volumes: - /volume1/docker/mediacms/redis:/data:rw restart: on-failure:5








