YouTube is no doubt the king of video content platforms and has been internet users’ go-to entertainment destination for around a couple of decades. It also allows you to upload, store, and keep your videos private or share them with limited users. But it’s not always the best place for every kind of video. At times, I want to store, organize, and share videos without tossing them onto Google’s data-hungry servers.
That got me wondering what if I create my own YouTube-like video platform, which is entirely in my control, designed to my specific needs, is more private, and feels personal to me. In my hunt for such a tool, I found MediaCMS.
What is MediaCMS?
An open-source media platform for video hosting
MediaCMS is a Django-based and React-based platform that’s built specifically for hosting video and other media content. It’s free and open-source, and it’s like having your own self-hosted YouTube or Vimeo-like tool. While it’s mainly known for video hosting and sharing, it also supports other media, such as audio and images.
Since it’s open-source and community-driven, you can customize it to your liking. You won’t have to be stuck with someone else’s branding. You can also modify its features by accessing the developer code.
It comes with most features you would expect from a video platform, like upload, video transcoding, user roles, comments, categories, playlists, sharing, and more. But unlike YouTube, you don’t have to worry about your data being used for targeted ads and privacy issues.
How I set it up
It was easy through Docker on Ubuntu
For MediaCMS, I decided to go with my Ubuntu system, and trust me, it’s the best way to go. However, if you are a Windows-only user, you can also follow the path of Docker with WSL2. Before setting it up, you need to prepare your system. According to your requirements, you will need at least 2–4 vCPUs and more than 4GB of RAM. The disk size should be three times the size of the videos you are going to upload to MediaCMS.
Here are the steps I followed:
First, I installed the Docker Engine and Docker Compose.
Then, I fetched MediaCMS from its official GitHub repository.
Since MediaCMS uses the environmental variables under the hood, I created a new .env file in the root folder and configured it.
Then, I started the stack using Docker Compose commands.
I created my administrator account to use on MediaCMS.
I then navigated to http://localhost on my browser to launch MediaCMS.
That’s it. It was a straightforward process from here on. I logged in with my registered account and started uploading the media. I hosted it on my local machine, but you can also do the same on your personal server, allowing you to use it on all your connected devices.
MediaCMS features I like
These impressed me the most
Immediately after using it for the first time, I was impressed by how complete MediaCMS felt. It is truly similar to YouTube in interface and features. The UI is quite impressive, with all major options readily available on your screen. It is definitely not a barebones self-hosted project.
When it comes to video upload formats, I tested uploading MP4, MOV, AVI, and even WebM. It took them all and made them ready for smooth playback. It also supports adaptive bitrate streaming, meaning videos play smoothly on both small and large screens.
Like YouTube, MediaCMS also allows you to assign different roles like admins, moderators, creators, and regular viewers. This makes it easy to manage access to your self-hosted platform. Good for privacy and security. When uploading media, you also have the option to add metadata, tags, and filters. Further, I can categorize my video into playlists. This makes it simple to organize.
Just like YouTube, you have the option to share your videos using a simple share link or embedded code. The React-based frontend enables it to run smoothly on both PCs and smartphones without any issues. You can also integrate more features as its backend, which is built on Django, is fully open to extensions.
Use cases beyond personal projects
Who all might find MediaCMS useful
MediaCMS isn’t just for tech hobbyists who like to have a private YouTube for themselves. There are numerous use cases across various domains. For example, if you are a professional content creator, you can use it to maintain your own hosted portfolio. If you run an educational institution, using MediaCMS enables you to manage lecture recordings and tutorials in a secure environment.
Companies can run it internally to manage onboarding or training videos securely. Furthermore, MediaCMS can also be utilized by communities to share niche-specific content securely, without any ads or limitations (for example, meme makers).
Personally, setting up MediaCMS gave me what YouTube never could – total ownership of my media. I decide how videos are displayed, who gets access, and what experience users have. Of course, it’s not for everyone, and obviously, it’s far from replacing YouTube, but if you want control, privacy, and better customizations, MediaCMS is a fantastic tool.