{"id":108951,"date":"2021-11-18T04:00:57","date_gmt":"2021-11-18T01:00:57","guid":{"rendered":"https:\/\/computingforgeeks.com\/?p=108951"},"modified":"2024-07-10T23:36:44","modified_gmt":"2024-07-10T20:36:44","slug":"setup-self-hosted-media-manager-using-dim","status":"publish","type":"post","link":"https:\/\/computingforgeeks.com\/setup-self-hosted-media-manager-using-dim\/","title":{"rendered":"Setup self-hosted media manager using Dim"},"content":{"rendered":"\n<p>If you are looking for a media management system for everything from your documents, photos, videos to music then, you are in the right place! Dim is a free and open-source media manager built from the ground up. It allows one to scan, organize media collections and remotely access and play media files from everywhere. Dim acts as a drop-in replacement for media managers like Emby, Jellyfin, and Plex<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Features of Dim Media Manager<\/h3>\n\n\n\n<p>Dim is preferred over other media managers since it has the following amazing features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Transmuxing<\/li>\n\n\n\n<li>Supports common movie, tv show and anime naming schemes<\/li>\n\n\n\n<li>Supports subtitle streaming.<\/li>\n\n\n\n<li>Hardware accelerated transcoding (with some runtime feature detection)<\/li>\n\n\n\n<li>CPU Transcoding<\/li>\n<\/ul>\n\n\n\n<p>In this guide, we will install and configure a self-hosted media manager using Dim. Let&#8217;s plunge in!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Install Dim self-hosted Media Manager<\/h2>\n\n\n\n<p>There are a couple of methods to install a self-hosted media manager using Dim as listed below:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Running Dim from the binaries.<\/li>\n\n\n\n<li>Running Dim using Docker.<\/li>\n\n\n\n<li>Running Dim from source.<\/li>\n<\/ul>\n\n\n\n<p>In this guide, I will demonstrate two ways to get Dim self-hosted Media Manager running on your Linux or macOS system.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Method 1 &#8211; Run Dim self-hosted Media Manager using Binaries<\/h3>\n\n\n\n<p>This is the most basic way to get Dim self-hosted Media Manager running on your Linux\/macOS system.<\/p>\n\n\n\n<p>First and foremost, install the required dependencies.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>libva2<\/li>\n\n\n\n<li>libva-drm2<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\"><em>##On RHEL\/CentOS\/Rocky Linux 8\n<\/em><\/span>sudo yum install https:\/\/extras.getpagespeed.com\/release-el8-latest.rpm\nsudo yum install vim unzip curl libva2 libva-dev libva-drm2\n\n<span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\"><em>##On Debian\/Ubuntu\n<\/em><\/span>sudo apt install <meta charset=\"utf-8\">vim unzip curl libva2 libva-dev libva-drm2<\/code><\/pre>\n\n\n\n<p>Then, download the latest available version of Dim from the <a href=\"https:\/\/github.com\/Dusk-Labs\/dim\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">Dim GitHub release page<\/a>. Alternatively, you can obtain the download link and pull the archive using Wget as below.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -s https:\/\/api.github.com\/repos\/Dusk-Labs\/dim\/releases\/latest |grep browser_download_url | cut -d '\"' -f 4 | wget -i -<\/code><\/pre>\n\n\n\n<p>With the Dim archive downloaded successfully, extract it as below.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>unzip release.zip\ntar -xvzf release.tar.gz<\/code><\/pre>\n\n\n\n<p>Now navigate into the extracted folder and install dim using the below command.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd release\n.\/dim<\/code><\/pre>\n\n\n\n<p>Sample Output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <span class=\"has-inline-color has-pale-pink-color\">.\/dim<\/span>\nNov 06 05:20:27.485 INFO ffmpeg version git-2021-10-19-407acc0 Copyright (c) 2000-2021 the FFmpeg developers\nbuilt with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)\nconfiguration: --pkg-config-flags=--static --prefix=\/home\/runner\/work\/ffmpeg-static\/ffmpeg-static\/target --bindir=\/home\/runner\/work\/ffmpeg-static\/ffmpeg-static\/target\/bin --extra-cflags='-I \/home\/runner\/work\/ffmpeg-static\/ffmpeg-static\/target\/include -I \/usr\/local\/cuda\/include\/' --extra-ldflags='-L \/home\/runner\/work\/ffmpeg-static\/ffmpeg-static\/target\/lib -L \/usr\/local\/cuda\/lib64\/' --extra-libs=-lpthread --disable-autodetect --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-vaapi --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libaom --enable-pthreads --enable-nvenc --enable-nvdec --enable-ffnvcodec --enable-cuda --enable-cuda-sdk\n.......\nNov 06 05:20:27.485 INFO Enabling profile, profile: AacTranscodeProfile\nNov 06 05:20:27.485 INFO Enabling profile, profile: H264TranscodeProfile\nNov 06 05:20:27.485 INFO Enabling profile, profile: H264TransmuxProfile\nNov 06 05:20:27.485 INFO Enabling profile, profile: RawVideoTranscodeProfile\nNov 06 05:20:27.485 INFO Enabling profile, profile: WebvttTranscodeProfile\nNov 06 05:20:27.485 INFO Enabling profile, profile: CudaTranscodeProfile\nNov 06 05:20:27.485 WARN Disabling profile, profile: VaapiTranscodeProfile, reason: Profile not supported Device &lt;null_device&gt; doesnt support profile VAProfileH264ConstrainedBaseline (Supported profiles: )\n........<\/code><\/pre>\n\n\n\n<p>That is it, you are set to access the Dim Web UI.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Method 2 &#8211; Run Dim self-hosted Media Manager using Docker.<\/h3>\n\n\n\n<p>This method is used for those who want to avoid the task of running all the required dependency packages but instead want to run Dim as a Docker container.<\/p>\n\n\n\n<p>This method is also easy as it doesn&#8217;t involve tiring steps. First, you need to have docker and docker-compose installed on your system with the aid of the guide below.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/computingforgeeks.com\/solve-error-package-docker-ce-stable-requires-container-selinux\/\" target=\"_blank\" rel=\"noreferrer noopener\">How To Install Docker CE on Linux Systems<\/a><\/li>\n<\/ul>\n\n\n\n<p>After docker installation add your user to docker group:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo usermod -aG docker $USER\nnewgrp docker<\/code><\/pre>\n\n\n\n<p>With docker installed, proceed and run Dim self-hosted Media Manager using Docker as below.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d -p 8000:8000\/tcp --mount type=bind,source=\/media,target=\/media vgarleanu\/dim:latest<\/code><\/pre>\n\n\n\n<p>Several images will be pulled as below:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Unable to find image 'vgarleanu\/dim:latest' locally\nlatest: Pulling from vgarleanu\/dim\n80d63867ecd7: Already exists \n59e5b688585c: Pull complete \n36f8009159f9: Pull complete \ne25c2edc91aa: Pull complete \nd4cb28e07db3: Pull complete \nDigest: sha256:5cef4fee712b25fc2e80032b3ef494e013cdcd15358bfda2473d41aa1e9ee086\nStatus: Downloaded newer image for vgarleanu\/dim:latest\n4477be5b340d3a57a39197b5e284ac382d7e62f75ec8ff785ca55005a4b3d83d\ndocker: Error response from daemon: driver failed programming external connectivity on endpoint interesting_kare (d03f4b9ad679f8987c954c1236eade9111e9e009dd2d0<\/code><\/pre>\n\n\n\n<p>Once complete, verify if the container is running.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">docker ps<\/span>\nCONTAINER ID   IMAGE                  COMMAND          CREATED          STATUS          PORTS                                       NAMES\nc6218d977185   vgarleanu\/dim:latest   \"\/opt\/dim\/dim\"   13 seconds ago   <strong><span style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">Up 12 seconds<\/span><\/strong>   0.0.0.0:8000-&gt;8000\/tcp, :::8000-&gt;8000\/tcp   clever_feistel<\/code><\/pre>\n\n\n\n<p>This container can be stopped using the command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker stop &lt;CONTAINER ID&gt;<\/code><\/pre>\n\n\n\n<p>That is it! Proceed and access the Dim Web UI as below.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Access Dim self-hosted Media Manager Web UI<\/h2>\n\n\n\n<p>Now that you have installed Dim with one of the above methods that best work for you, proceed and access the Web UI. But before this, you need to allow the port 8000 through the firewall.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For those using Firewalld.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo firewall-cmd --zone=public --permanent --add-port=8000\/tcp\nsudo firewall-cmd --reload<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For those using UFW.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 8000<\/code><\/pre>\n\n\n\n<p>Access the Dim Web UI using the URL <a href=\"https:\/\/computingforgeeks.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/IP_Address:8000<\/a> or <a href=\"https:\/\/computingforgeeks.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/hostname:8000<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"551\" height=\"535\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-4.png\" alt=\"\" class=\"wp-image-108955\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-4.png 551w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-4-300x291.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-4-433x420.png 433w\" sizes=\"auto, (max-width: 551px) 100vw, 551px\" \/><\/figure>\n\n\n\n<p>Click <strong>create a new account <\/strong>and proceed as below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"560\" height=\"559\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-1.png\" alt=\"\" class=\"wp-image-108956\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-1.png 560w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-1-300x300.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-1-150x150.png 150w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-1-421x420.png 421w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/figure>\n\n\n\n<p>Now you will be redirected to the Dim dashboard as below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"395\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-2.png\" alt=\"\" class=\"wp-image-108957\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-2.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-2-300x116.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-2-768x296.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-2-696x268.png 696w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Add the media you want to appear on the Dim self-hosted media manager by clicking <strong>add library<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"701\" height=\"616\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-3.png\" alt=\"\" class=\"wp-image-108958\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-3.png 701w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-3-300x264.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-3-696x612.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2021\/11\/How-to-configure-self-hosted-media-manager-using-Dim-3-478x420.png 478w\" sizes=\"auto, (max-width: 701px) 100vw, 701px\" \/><\/figure>\n\n\n\n<p>Now your added media will appear on the dashboard and can be accessed from everywhere.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion.<\/h2>\n\n\n\n<p>That marks the end of this guide on how to configure self-hosted media manager using Dim. I hope this guide was valuable to you.<\/p>\n\n\n\n<p>See more guides on this page:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/computingforgeeks.com\/best-linux-file-managers-you-can-use\/\">Best Linux File Managers you can use<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/install-and-use-freeoffice-on-ubuntu-linux\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install and Use FreeOffice on Ubuntu<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/how-to-install-netbox-ipam-on-rocky-linux-centos\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install NetBox IPAM on Rocky Linux 8|CentOS 8<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>If you are looking for a media management system for everything from your documents, photos, videos to music then, you are in the right place! Dim is a free and open-source media manager built from the ground up. It allows one to scan, organize media collections and remotely access and play media files from everywhere. &#8230; <a title=\"Setup self-hosted media manager using Dim\" class=\"read-more\" href=\"https:\/\/computingforgeeks.com\/setup-self-hosted-media-manager-using-dim\/\" aria-label=\"Read more about Setup self-hosted media manager using Dim\">Read more<\/a><\/p>\n","protected":false},"author":21,"featured_media":108956,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[299,50,832,2666],"tags":[36296,36295,36297],"class_list":["post-108951","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","category-linux-tutorials","category-tech","category-tips-tricks","tag-dim","tag-media-manager","tag-self-hosted-media-manager"],"_links":{"self":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/108951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/comments?post=108951"}],"version-history":[{"count":0,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/108951\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media\/108956"}],"wp:attachment":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media?parent=108951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/categories?post=108951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/tags?post=108951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}