{"name":"Dim: A Self-Hosted Media Manager Fueled by Rust and React","description":"Dim is a powerful, self-hosted media manager designed to organize and beautify your media collections. Built with Rust and React, it allows users to access and play their media anytime from anywhere with minimal setup. This project offers flexible deployment options, including binaries, Docker, and building from source.","github":"https://github.com/Dusk-Labs/dim","url":"https://osrepos.com/repo/dusk-labs-dim","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/dusk-labs-dim","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/dusk-labs-dim.md","json":"https://osrepos.com/repo/dusk-labs-dim.json","topics":["mediamanager","reactjs","rust","rust-lang","self-hosted","media-server"],"keywords":["mediamanager","reactjs","rust","rust-lang","self-hosted","media-server"],"stars":null,"summary":"Dim is a powerful, self-hosted media manager designed to organize and beautify your media collections. Built with Rust and React, it allows users to access and play their media anytime from anywhere with minimal setup. This project offers flexible deployment options, including binaries, Docker, and building from source.","content":"## Introduction\n\nDim is an open-source, self-hosted media manager developed by Dusk-Labs. It provides a robust solution for organizing, managing, and accessing your personal media collections. With its intuitive web UI, built using React, and a high-performance backend powered by Rust, Dim aims to offer a seamless experience for streaming and managing your media from any location.\n\n## Installation\n\nDim offers several methods for installation, catering to different user preferences and environments.\n\n### Running from Binaries\n\nTo run Dim from pre-compiled binaries, follow these steps:\n\n1.  **Dependencies:** Ensure you have `libva2`, `libva-drm2`, `libharfbuzz`, `libfontconfig`, `libfribidi`, `libtheora`, `libvorbis`, `libvorbisenc`, and `libtheora0` installed on your system.\n2.  **Download & Unpack:** Obtain the binaries from the GitHub release tab.\n    bash\nunzip ./release-linux.zip && tar -xvzf ./release.tar.gz\n    \n3.  **Run:** Navigate to the release directory and execute Dim.\n    bash\ncd release && ./dim\n    \n\n### Running with Docker\n\nDim can be easily deployed using Docker. The following command runs Dim on port 8000, storing configuration in `$HOME/.config/dim` and mounting `/media` from the host as read-only.\n\nbash\ndocker run -d -p 8000:8000/tcp -v $HOME/.config/dim:/opt/dim/config -v /media:/media:ro ghcr.io/dusk-labs/dim:dev\n\n\nFor hardware acceleration, mount the relevant device:\n\nbash\ndocker run -d -p 8000:8000/tcp -v $HOME/.config/dim:/opt/dim/config -v /media:/media:ro --device=/dev/dri/renderD128 ghcr.io/dusk-labs/dim:dev\n\n\nYou can also use Docker Compose with the provided [template](https://github.com/Dusk-Labs/dim/blob/master/docker-compose-template.yml).\n\n### Running from Source\n\nIf you prefer to build Dim from source, ensure you have the following dependencies: `sqlite`, `cargo`, `rustc (nightly)`, `yarn`, `npm`, `libssl-dev`, `libva2` (Linux only), `libva-dev` (Linux only), `libva-drm2` (Linux only), and `ffmpeg`.\n\n1.  **Clone & Build:**\n    bash\ngit clone https://github.com/Dusk-Labs/dim\nyarn --cwd ui/ && yarn --cwd ui/ build\nmkdir utils && ln -nfs $(which ffmpeg) utils/ffmpeg && ln -nfs $(which ffprobe) utils/ffprobe\n    \n2.  **Run (Linux with VAAPI):**\n    bash\ncargo run --features vaapi --release\n    \n3.  **Run (Other Platforms):**\n    bash\ncargo run --release\n    \n\n## Examples\n\nAfter successful installation, you can access the Dim web UI through your browser. If running locally, navigate to `http://0.0.0.0:8000` to start managing your media.\n\n## Why Use Dim?\n\nDim stands out as an excellent choice for a self-hosted media manager due to several key advantages:\n\n*   **Self-Hosted Control:** Maintain full control over your media and data without relying on third-party services.\n*   **Efficient Organization:** Dim helps organize and beautify your media collections, making them easy to browse and enjoy.\n*   **Anytime, Anywhere Access:** Stream and access your media from any device, anywhere, once properly configured.\n*   **Modern Tech Stack:** Built with Rust for performance and safety, and React for a responsive and modern user interface.\n*   **Community Support:** Engage with the community for support and development via their Discord channel.\n\n## Links\n\nFind more information and contribute to Dim through these official links:\n\n*   **GitHub Repository:** [Dusk-Labs/dim](https://github.com/Dusk-Labs/dim)\n*   **Discord:** [Join the Dim Discord](https://discord.gg/gBPyQ7NVah)\n*   **Docker Compose Template:** [docker-compose-template.yaml](https://github.com/Dusk-Labs/dim/blob/master/docker-compose-template.yml)","metrics":{"detailViews":16,"githubClicks":10},"dates":{"published":null,"modified":"2026-02-12T16:01:04.000Z"}}