
I became interested in trying VibeNVR after coming across an article on XDA Developers. VibeNVR is a free, open-source NVR that you can host on your own server. This means your security camera footage is stored directly on your own server, so you don’t have to pay for a monthly cloud subscription. In the article I read, VibeNVR was used with UniFi IP cameras, and it seemed to work quite well. That made me curious to try it out for myself.
In this article, I will attempt to install VibeNVR on my 2012 MacBook, taking the process from start to finish until it is ready for use—will it work?
What Is VibeNVR?
Before we dive in, let’s take a quick look at what VibeNVR is all about.
VibeNVR was created by a developer known as Spupuz. It’s a free, open-source, self-hosted NVR that runs entirely on your local system using Docker Compose. There’s no need for cloud services or subscription fees, making it a great option if privacy is important to you.
Here are some of the key features VibeNVR offers:
- Advanced ONVIF support: Full PTZ control, along with two-way audio (back-channel)
- Dual-stream support: Uses both main and sub-streams to reduce bandwidth usage when viewing multiple cameras in a live grid
- Privacy masking: Lets you hide sensitive areas within the camera feed
- AI/ML-based motion detection: Smarter motion detection and notifications
- Timeline-based playback: Makes it easy to browse and review recorded footage
- Multi-tenancy: Allows you to manage multiple users and locations
Check System Requirements Before Installing VibeNVR
Like any virtual NVR, VibeNVR has certain system requirements to run properly. According to the developer’s documentation, VibeNVR is installed through Docker. So, the first thing I need to do is install Docker on my MacBook.
Here is my process for installing Docker.
Installing Docker on Mac
First, open the Docker download page for Mac. The Mac I’m using is a 2012 MacBook Pro with an Intel processor. So, I selected the Docker Desktop installer for Mac with an Intel chip.
The download will start automatically. Just wait for it to finish. The Docker for Mac installer is about 611 MB in size.
Click the Docker.dmg file in the Downloads folder.

My first attempt to install Docker didn’t work.
It turned out that the installer I downloaded from the official website wasn’t compatible with my Mac—a 2012 MacBook Pro running macOS Monterey. After looking for a compatible version, I eventually found an older Docker version that works with my Mac here.
I opened the Docker.dmg file from the Downloads folder again. This is the second installation file I downloaded.
Finally, I was able to install Docker Desktop successfully.

When I previously tried installing the version I downloaded from the official website, an “X” appeared over the app icon, indicating that it wasn’t compatible with my Mac. You can see the results in the images below. The image on the left shows what happened after I first installed Docker—the app icon had an “X” over it, indicating that the version wasn’t compatible with my Mac.
The image on the right shows Docker successfully installed and running on my Mac.

At this point, the system is ready for the VibeNVR installation. According to the official documentation, VibeNVR has the following system requirements:
- Docker: version 24.x or newer, with Docker Compose 2.x or newer
- Memory & storage: at least 2 GB of RAM and 10 GB of free disk space recommended
- Architecture: Linux x86_64 (Intel/AMD) or arm64, such as a Raspberry Pi 4/5 or Apple Silicon
- GPU (optional): an NVIDIA or Intel/AMD GPU can be used for hardware-accelerated video transcoding. Ubuntu 24.04 is fully supported, including VAAPI for hardware acceleration.
Here’s what the Docker dashboard looks like on the system I’ve just set up. I’m still new to Docker myself, so I’m learning as I go and don’t have everything figured out yet. I’ll keep updating this post as I go, so stay tuned to see whether I manage to get VibeNVR up and running!

Installing VibeNVR on my MacBook, Took Me Almost Four Hours
Update – September 16, 2026:
Install Xcode Command Line Developer Tools on Mac
After reading the guide, I found that VibeNVR could be installed directly through the Terminal. So, I immediately tried entering the command from the guide into Terminal on my MacBook.
git clone https://github.com/spupuz/VibeNVR.git
cd VibeNVR
However, a notification popped up:
The “git” command requires the Command Line Developer Tools. When I ran the command, Terminal showed this message: xcode-select: note: no developer tools were found at ‘/Applications/Xcode.app.
It turned out that I needed to install an app called Xcode.app before I could run the command in Terminal. So, I immediately clicked the “Install” button on the notification that popped up on my screen.

When the confirmation window appears, click “Agree.”
The installation process will then begin. It took around 15 minutes, so just wait until the installation is complete.

You can also install Xcode on your Mac by running the xcode-select –install command in Terminal.
To make sure Xcode Command Line Tools has been installed successfully, you can run the following command in Terminal:
$ xcode-select -p
You can also check the installed Git version by running:
$ git –version
Continuing the Process of Installing VibeNVR on My Mac
Update – September 20, 2026:
I was only able to run this command in Terminal after successfully installing the Xcode Command Line Tools on my Mac.
git clone https://github.com/spupuz/VibeNVR.git
cd VibeNVR
The command above will download the VibeNVR files from GitHub and automatically create a VibeNVR folder on your Mac. Then, I ran the command to configure the .env file according to the instructions.
cp .env.example .env
nano .env
The command above will open an editor in Terminal. The two values you need to change are SECRET_KEY and WEBHOOK_SECRET. Both of them are HEX keys. To be honest, I’m not entirely sure why these keys are required, so I simply followed the instructions in the guide.
To generate the HEX keys, I used the Browserling website.

After adding the key code, to save it, press Command+X on the keyword. Then select it and type Y again.
Running the Build Command to Install VibeNVR
All of the steps above are part of the preparation for installing VibeNVR on a Mac. Once everything is ready, it’s time to run the build command. I entered this command in Terminal:
docker compose up -d –build

Once you run the build command, there’s nothing else you need to do. You can sit back, take a short break, or grab a cup of coffee while it runs. The build process can take quite a while. In my case, it took around two hours to complete.
And this is what the Terminal looks like at the end of the process, indicating that VibeNVR has been successfully installed on the Mac.

Next, let’s try accessing the VibeNVR interface in a web browser. According to the guide, the default URL for accessing VibeNVR is http://localhost:8080. And this is what it looks like.

With that, the VibeNVR installation is complete. In my next update, I’ll explain how to set up and add IP cameras to VibeNVR.
Update 22 September 2026:
How Do I Add a Camera to VibeNVR?
After I created a user in the VibeNVR app, I was immediately redirected to the dashboard page. On this dashboard page, I saw several main menus displayed.
VibeNVR main menu:
- Dasboard
- Camera
- Live View
- Time Line
To add a camera, I selected the Camera menu.
On the page for adding a camera, I was given two options. The first option was to add the camera manually by entering the IP address, username, password, and RTSP URL of the camera I wanted to add. The second option was to add the camera by automatically detecting its IP address.
In this guide, I’ve chosen the first method.
I clicked the “Add Camera” button.

On the “Add Camera” page, I need to fill out several fields, including:
- Camera Name
- Location
- Username
- Password
- RTSP URL
I’ll leave the other fields as their default values.
So I filled it out:
- Camera Name: CCTV Manuals
- Locaton: Front Door
- Username: admin
- Password: JYGAKU
- RTSP URL: rtsp://admin:JYGAKU@192.168.1.2:554/Streaming/Channels/101/
In this guide, I’m using an EZVIZ C6N camera. To find the IP address of your EZVIZ camera, simply open the settings menu in the EZVIZ app. The password for an EZVIZ camera is its verification code. You can usually find the verification code on the label attached to the camera.
Click the “Create Camera” button.
You can see that the camera has been added to the camera list and its status is “Connected.” If the status of the camera you added is “Disconnected,” please double-check the RTSP URL and the camera password you entered.
This is a live feed from the camera I just added to VibeNVR.

How to Playback on VibeNVR?
Viewing camera recordings on VibeNVR is also very easy.
On the dashboard page, you can click the Timeline menu. The recorded videos will then be displayed there. You can click on a video in the list to playback.

How to Download Recorded Videos on VibeNVR?
I’m really, really impressed with VibeNVR—downloading recorded videos is also very easy. On the Timeline page, select the video you want to download.
Then click the Download icon on the video.

How to Delete Recorded Videos on VibeNVR?
I should mention that if you’re running VibeNVR on a laptop, as I am right now, all video recordings are saved using the laptop’s available storage space. If you’re worried about running out of storage space, you can delete the saved videos. Deleting recorded videos on VibeNVR is very easy.
You can open the Timeline menu and select one of the recorded videos you want to delete. Once the video is open, click the delete button.

Update—September 26, 2026:
Common Issues with Using VibeNVR and How I Fixed Them
http://localhost:8080 Can’t Be Opened
This was the first problem I encountered when using VibeNVR. I couldn’t access the VibeNVR web interface at http://localhost:8080.
How to Fix It:
Open Docker Desktop.
Then, check the VibeNVR container in the Docker Desktop dashboard and select VibeNVR. Make sure the VibeNVR container has these four files:
- vibenvr-engine
- vibenvr-db
- vibenvr-frontend
- vibenvr-backend
When I couldn’t access VibeNVR, I noticed that one of the required files, vibenvr-db, was missing. To fix this issue, I opened Terminal and entered the following command:
cd VibeNVR
docker compose up -d

The file in the Docker container will then be restored. After that, I was able to access the VibeNVR web interface again through my web browser.
Final Thoughts
After studying it, I finally managed to install VibeNVR on my laptop and use it. I think VibeNVR is really great.
VibeNVR is a virtual NVR that runs locally and doesn’t require a cloud subscription, so you can host it on your own private server. It offers the essential features you’d expect from an NVR, including live CCTV viewing, recording, and playback. It also comes with motion detection and several other useful features. According to the developer, VibeNVR supports IP cameras that use RTSP.
Stay tuned for updates as I continue working on the VibeNVR installation process.