

Setup self-hosted media manager using Dim
source link: https://computingforgeeks.com/setup-self-hosted-media-manager-using-dim/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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
Features of Dim Media Manager
Dim is preferred over other media managers since it has the following amazing features:
- Transmuxing
- Supports common movie, tv show and anime naming schemes
- Supports subtitle streaming.
- Hardware accelerated transcoding (with some runtime feature detection)
- CPU Transcoding
In this guide, we will install and configure a self-hosted media manager using Dim. Let’s plunge in!
Install Dim self-hosted Media Manager
There are a couple of methods to install a self-hosted media manager using Dim as listed below:
- Running Dim from the binaries.
- Running Dim using Docker.
- Running Dim from source.
In this guide, I will demonstrate two ways to get Dim self-hosted Media Manager running on your Linux or macOS system.
Method 1 – Run Dim self-hosted Media Manager using Binaries
This is the most basic way to get Dim self-hosted Media Manager running on your Linux/macOS system.
First and foremost, install the required dependencies.
- libva2
- libva-drm2
##On RHEL/CentOS/Rocky Linux 8
sudo yum install https://extras.getpagespeed.com/release-el8-latest.rpm
sudo yum install vim unzip curl libva2 libva-dev libva-drm2
##On Debian/Ubuntu
sudo apt install vim unzip curl libva2 libva-dev libva-drm2
Then, download the latest available version of Dim from the Dim GitHub release page. Alternatively, you can obtain the download link and pull the archive using Wget as below.
curl -s https://api.github.com/repos/Dusk-Labs/dim/releases/latest |grep browser_download_url | cut -d '"' -f 4 | wget -i -
With the Dim archive downloaded successfully, extract it as below.
unzip release.zip
tar -xvzf release.tar.gz
Now navigate into the extracted folder and install dim using the below command.
cd release
./dim
Sample Output:
$ ./dim
Nov 06 05:20:27.485 INFO ffmpeg version git-2021-10-19-407acc0 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
configuration: --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
.......
Nov 06 05:20:27.485 INFO Enabling profile, profile: AacTranscodeProfile
Nov 06 05:20:27.485 INFO Enabling profile, profile: H264TranscodeProfile
Nov 06 05:20:27.485 INFO Enabling profile, profile: H264TransmuxProfile
Nov 06 05:20:27.485 INFO Enabling profile, profile: RawVideoTranscodeProfile
Nov 06 05:20:27.485 INFO Enabling profile, profile: WebvttTranscodeProfile
Nov 06 05:20:27.485 INFO Enabling profile, profile: CudaTranscodeProfile
Nov 06 05:20:27.485 WARN Disabling profile, profile: VaapiTranscodeProfile, reason: Profile not supported Device <null_device> doesnt support profile VAProfileH264ConstrainedBaseline (Supported profiles: )
........
That is it, you are set to access the Dim Web UI.
Method 2 – Run Dim self-hosted Media Manager using Docker.
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.
This method is also easy as it doesn’t involve tiring steps. First, you need to have docker and docker-compose installed on your system with the aid of the guide below.
After docker installation add your user to docker group:
sudo usermod -aG docker $USER
newgrp docker
With docker installed, proceed and run Dim self-hosted Media Manager using Docker as below.
docker run -d -p 8000:8000/tcp --mount type=bind,source=/media,target=/media vgarleanu/dim:latest
Several images will be pulled as below:
Unable to find image 'vgarleanu/dim:latest' locally
latest: Pulling from vgarleanu/dim
80d63867ecd7: Already exists
59e5b688585c: Pull complete
36f8009159f9: Pull complete
e25c2edc91aa: Pull complete
d4cb28e07db3: Pull complete
Digest: sha256:5cef4fee712b25fc2e80032b3ef494e013cdcd15358bfda2473d41aa1e9ee086
Status: Downloaded newer image for vgarleanu/dim:latest
4477be5b340d3a57a39197b5e284ac382d7e62f75ec8ff785ca55005a4b3d83d
docker: Error response from daemon: driver failed programming external connectivity on endpoint interesting_kare (d03f4b9ad679f8987c954c1236eade9111e9e009dd2d0
Once complete, verify if the container is running.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c6218d977185 vgarleanu/dim:latest "/opt/dim/dim" 13 seconds ago Up 12 seconds 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp clever_feistel
This container can be stopped using the command:
docker stop <CONTAINER ID>
That is it! Proceed and access the Dim Web UI as below.
Access Dim self-hosted Media Manager Web UI.
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.
- For those using Firewalld.
sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
- For those using UFW.
sudo ufw allow 8000
Access the Dim Web UI using the URL http://IP_Address:8000 or http://hostname:8000
Click create a new account and proceed as below.
Now you will be redirected to the Dim dashboard as below.
Add the media you want to appear on the Dim self-hosted media manager by clicking add library
Now your added media will appear on the dashboard and can be accessed from everywhere.
Conclusion.
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.
See more guides on this page:
Recommend
-
20
dim&&dii 从Lucene6.0开始出现点数据(Point Value)的概念,通过将多维度的点数据生成KD-tree结构,来实现快速的单维度的范围查询(比如 IntPoint.newRangeQuery...
-
6
DIMCOIN (DIM) – HodlalertWe Could not find any news for this platform
-
8
dim_STAT : v.9.0 CoreUpdate-20-12 2020-12-31 12:45 | dim_STAT, MySQL, Linux, Performance, DTrace by Dimitri Just realized I did not post any notes abou...
-
14
参考: https://www.cnblogs.com/itboys/p/10592871.html 数据仓库--通用的数据仓...
-
19
Setup Bitwarden Self-Hosted Password Manager using Docker ContainerWelcome to this amazing guide on how to set up Bitwarden Self-Hosted Password Manager using Docker Container. By the end of this guide, you should be able to...
-
11
How To Build Self-Hosted RSS Feed Reader Using Spring Boot and Redis ...
-
8
剑桥广东早茶点心 Dim Sum 媳妇不上班, 我在家办公, 然后就说中午去吃个饭, 于是说走就走, 反正离剑桥市中心开车也就10来分钟. 剑桥市中心 regent street 有一家 名为 “万里...
-
3
Home
-
8
Nikos Roussos • Self-hosted media center This is a typical documentation post on...
-
3
Setup Self Hosted Linux Agent in Azure DevOps Let us learn how to create and configure a Self-Hosted Agent in Azure DevOps (ADO).
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK