Create your own YouTube alike website with MediaCMS

Create your own YouTube alike website with MediaCMS
Photo by Alexander Shatov / Unsplash

If you are a freelance photographer, agency, or professional who has and wants to showcase his multimedia work, like photos, and videos, most likely you have several profiles here and there.

There are various solutions to achieve that, but they don't close to something like YouTube.

But, what if I told you that there is a free, open-source self-hosted system that can help you create your multimedia website similar to YouTube and Flicker together?

MediaCMS is a customized CMS for publishing rich media content like videos, audio, photos, and other multimedia files.

The design and UX

With its responsive design which resembles YouTube, MediaCMS offers a seamless browsing experience and a built-in automatic dark mode.

1- Media types

Unlike YouTube, MediaCMS supports audio and image files, so it fits for multimedia agencies or multi-talent creators.

2- Multiple Classifications

Users can classify the uploaded media using categories, tags, or their custom classification method.

The built-in live-search makes a searching experience, which enriches the user experience, allowing searching thousands of uploaded materials in no time.

4- Media embed, share, and download options

Users can share the published media to several platforms like WhatsApp, Twitter, Telegram, Reddit, LinkedIn, and Tumblr.

To embed a video or a media, MediaCMS generates embedded code which allows customization to the media dimensions and aspect ratio.

To download a video, audio, or photo, you can choose between processed compressed editions of the original file.

5- Built-in comments

Users can comment on the published media, however, it does not support threaded comments yet.

6- Up and down rating

Like any good system, users' opinions matter. MediaCMS offers an up and down voting system which is similar to YouTube.

Recently, YouTube removes the dislike count feature, but it is still a prominent feature in MediaCMS.

7- Views counter

Views counter helps the admins and visitors know how many views every item gets.

Public or private publishing

Let us say, you want to upload private media (Video, Audio, or image) as a showcase to your client, you can do this easily with MediaCMS.

Users can register, or join with an invite. However, if you want to make the system closed for certain users, you can do this from the control panel.

Search engines friendly

MediaCMS comes with a built-in SEO features set, which includes user-friendly URL (permalinks), SEO-ready page structure, and header metatags.

Video management

1- The Player

MediaCMS Player

MediaCMS built-in player comes with playback speed options, full-screen mode, and works smoothly on small screens.

2- Multiple transcoding profiles

Similar to YouTube, MediaCMS offers many video dimensions which include: 240p, 360p, 720p, and 1080p. The h264, h265, and vp9 profiles are also supported.

3- Subtitles

If you have visitors or clients from other countries, you can include subtitles on your videos with their language.

4- Video streaming

MediaCMS supports streaming through the HLS protocol.

5- Chunked file uploads

If you have a slow internet connection, chunked file uploads allow uploading large media files on a slow connection.

The Tech stack

MediaCMS is built on top of Django web framework, Python, Celery a task queue implementation for Python, and uses React as a front-end framework.

With its built-in REST-API, developers can build web, mobile or desktop apps based on MediaCMS.

Install MediaCMS

You can install MediaCMS either from source or using Docker/ Docker-compose which does not take time.

Install MediaCMS using Docker

git clone
cd mediacms
docker-compose up

If you did not set the admin password in docker-compose.YAML, the admin password is generated randomly and logged as the container runs for the first time.


MediaCMS is released as an open-source project under AGPL-3.0 License.


Open-source Apps


Medical Apps




Dev. Resources