MCPSERV.CLUB
MediaCMS

MediaCMS

Self-Hosted

Open‑source video & media CMS for self‑hosted portals

Active(89)
4.3kstars
0views
Updated 4 days ago
MediaCMS screenshot

Overview

Discover what makes MediaCMS powerful

MediaCMS is a self‑hosted, full‑stack media content management system engineered for rapid deployment of video and audio portals. Built on a Django + React foundation, it exposes a RESTful API that lets developers programmatically ingest media, manage users, and orchestrate transcoding pipelines. The system is designed to run in containerized environments (Docker) but also supports traditional virtual machine deployments, making it flexible for cloud or on‑premise infrastructure.

Backend

Frontend

Transcoding

Storage

Overview

MediaCMS is a self‑hosted, full‑stack media content management system engineered for rapid deployment of video and audio portals. Built on a Django + React foundation, it exposes a RESTful API that lets developers programmatically ingest media, manage users, and orchestrate transcoding pipelines. The system is designed to run in containerized environments (Docker) but also supports traditional virtual machine deployments, making it flexible for cloud or on‑premise infrastructure.

Technical Stack & Architecture

  • Backend: Django (Python) with Celery for asynchronous tasks, Redis as broker/cache, and PostgreSQL for relational persistence. The choice of Django provides a mature ORM, built‑in admin UI, and robust authentication mechanisms.
  • Frontend: React coupled with a custom video.js wrapper. The UI is highly modular, allowing developers to replace or extend components without touching the core.
  • Transcoding: FFmpeg‑based workers run in separate Docker containers. MediaCMS supports multiple codecs (h264, h265, vp9) and resolutions, with a priority‑based queue that can be scaled horizontally.
  • Storage: Local filesystem or S3‑compatible object stores via Django’s django-storages. Chunked uploads are handled by the frontend, ensuring resumable uploads for large media files.

Core Capabilities

  • REST API: Swagger‑documented endpoints for CRUD on media, playlists, categories, and user groups. Authentication is token‑based (JWT) with support for SAML integration.
  • Transcription & Subtitles: Whisper runs locally as a Celery worker; subtitle files (SRT, VTT) can be uploaded or generated automatically.
  • RBAC & Workflows: Fine‑grained access control with public, private, unlisted, and custom visibility. Group memberships map to roles via SAML or Django’s auth groups.
  • Media Types & Metadata: Video, audio, image, PDF support; rich metadata (tags, categories, custom fields) and live search powered by Elasticsearch or Postgres full‑text.

Deployment & Infrastructure

MediaCMS ships with a Docker Compose stack that includes PostgreSQL, Redis, and the web server. For production, developers can spin up multiple worker nodes to handle transcoding or transcription tasks. The system’s configuration is largely driven by environment variables and a settings.yaml, enabling CI/CD pipelines to inject secrets or adjust scaling parameters. The optional remote worker feature allows transcoding jobs to be offloaded to a separate Kubernetes cluster or cloud function.

Integration & Extensibility

  • Plugin System: Django’s app architecture lets developers add custom apps for new media types or external services (e.g., DRM providers, analytics dashboards).
  • Webhooks: Events such as “media uploaded” or “transcoding finished” can trigger external workflows via configurable webhooks.
  • Custom UI: The React app exposes a plugin API; developers can inject custom components or override routes to tailor the user experience.

Developer Experience

The project follows PEP‑8 and React best practices, with comprehensive unit tests and a live demo. Documentation covers API usage, deployment steps, and advanced configuration (e.g., HLS streaming). The community is active on GitHub Issues, and the AGPL‑v3 license ensures that any derivative work remains open source.

Use Cases

  • Educational Platforms: Universities can host lecture videos with private access for enrolled students while keeping the codebase open for future extensions.
  • Corporate Training: Sensitive training materials can be stored on-premise, leveraging RBAC and SAML for single sign‑on.
  • Community Media Hubs: Small media outlets or hobbyist groups can deploy a lightweight portal with auto‑transcoding and social sharing.

Advantages

  • Performance: Native Django/Celery stack with optimized FFmpeg pipelines delivers low‑latency transcoding and adaptive HLS streaming.
  • Flexibility: The modular architecture lets developers swap storage backends, add new media codecs, or integrate third‑party services without touching core code.
  • Licensing: AGPL‑v3 guarantees that improvements remain community‑owned, fostering collaboration while protecting proprietary extensions.
  • Scalability: Horizontal scaling of worker containers and support for remote transcoding workers make it suitable from a single server to a distributed cloud deployment.

Open SourceReady to get started?

Join the community and start self-hosting MediaCMS today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
4.3k
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Official
Min RAM
1GB
Min Storage
5GB
Supported OS
LinuxDocker
Author
mediacms-io
mediacms-io
Last Updated
4 days ago