[Script request]: mediacms #15159
Unanswered
Replies: 1 comment
-
|
Hello, MediaCMS have stopped bare metal installs since 8.0... We are only on docker now. Sadly.
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Application
Requested by: @Ivann136
Description
MediaCMS is a modern, fully featured open source video and media CMS, written in Python/Django and React, featuring a REST API. It lets you build a small to medium self-hosted video and media portal within minutes, with complete control over your data. It supports multiple publishing workflows (public, private, unlisted, custom), Role-Based Access Control, automatic transcription through a local Whisper integration, and multiple media types: video, audio, image and PDF. In short, it's a self-hostable YouTube-style alternative for communities, organizations or education.
Why should this be added?
Homelabbers frequently want a private, self-hosted media/video portal (family videos, internal documentation, course recordings, archives) without relying on cloud platforms. Today MediaCMS officially ships only as a Docker Compose stack or a single-server bash installer, so a dedicated helper script would let users deploy it as a lightweight native Debian LXC in one command — no Docker layer required — which fits the project's typical pattern of clean per-app LXC installs. It pairs well with the kind of self-hosted stack many of these users already run.
Installation Notes
Stack / services: Django/Python/Celery backend + React frontend. Runtime services are Django (app server) behind Nginx, PostgreSQL (database), Redis (broker/cache), and Celery workers + Celery beat for asynchronous transcoding. FFmpeg is required for video processing/HLS. GitHub
Optional: OpenAI Whisper for automatic transcription — not enabled by default; it uses a much larger image (≈4 GB "full" vs ≈400 MB base). GitHub
Ports: HTTP on port 80 by default; HTTPS (443) is optional via a Let's Encrypt setup. (Internally Postgres 5432 / Redis 6379.) GitHub
Install methods: an automated script that installs and configures all needed services on a single server, or Docker Compose. Base image is python:3.13.5-slim-bookworm and the project now uses uv instead of pip. GitHubGitHub
Resource sizing: for a small-to-medium install, 4 GB RAM / 2–4 CPUs is a reasonable minimum. For disk, budget roughly 3× the size of expected uploads, since originals, encoded versions and HLS are all kept. GitHubGitHub
License: GNU Affero General Public License v3.0 (AGPL-3.0). GitHub
Known limitations: transcoding is CPU-heavy (FFmpeg); storage grows fast due to the keep-everything model; Whisper transcription is resource-intensive and off by default.
Due Diligence
Beta Was this translation helpful? Give feedback.
All reactions