Blue Iris run as a VM or Docker

ALias

n3wb
Aug 31, 2025
10
0
Earth USA
I am consolidating servers and moving to virtualization and containers for the various services I run locally.

On the topic of Blue Iris I have some questions, any input would be greatly appreciated especially from those who have run from a VM or container (Docker, etc).

1. Can BI be run from a VM or container?
1a. If yes which would provide the best performance (equal or as close to bare metal)?

2. Server will be setup as Z490 main board, 64gb memory, 12gb NVDA GPU, 750watt PS, i10700K CPU, 8tb storage space ssd/hdd config, 256gb NVME for OS boot, a GPU yet to be spec'd for BI graphics processing, 4 port 1gbs Intel NIC. This spec has been verified as sufficient with some future proofing built in. Any suggestions to make it tighter/robust is welcomed.

3. Total number of cameras will be +/-10.

4. FYI, host system resources (cpu, memory, graphics, storage) will be configured in container/vm per requirements. BI will get a dedicated amount of resources to ensure consistent availability and performance. If you have any suggestions on min/max resource allocation please share.

Thank you in advance for your input.
 
When running virtually GPU passthrough to the VM is a must on the hypervior to be able to utlize Quick Sync.
GPU for AI proccessing.
 
That server will be more than powerful enough.

Blue Iris is a traditional windows GUI program so it would probably be a waste of time trying to run it in a container/docker. It will work fine in a virtual machine. For a load of 10 cameras, I would allocate at least 10 GB of RAM and 4 to 8 CPU cores. You can always adjust as needed later. In a well-optimized Blue Iris installation, you'll be using sub streams for most or all of the cameras, so "idle" CPU usage, with nobody watching the cameras, should be fairly low. CPU usage will rise when someone is viewing a high resolution camera in "solo" or maximized mode, because that requires Blue Iris to do additional video decoding. Remote viewing in particular can be CPU intensive because it requires Blue Iris to encode an H.264 video stream in realtime. You'll want to allocate enough CPU cores to handle the peak load your system gets, even if that means Blue Iris only uses around 10% of the allocated CPU most of the time.

Quick Sync is mostly irrelevant anymore. Don't worry about passing through a GPU unless you want to use it for AI processing (which is optional; the models used for AI analytics can run on CPU). I don't use AI in any of my Blue Iris installations so I'm not really up to date on the system requirements for that, but you will have plenty of CPU and RAM to spare if needed and you can always add a GPU later.

For video recording, I would recommend passing through an entire hard drive to the VM (or more than one if you need more capacity). If you are going to record to a virtual disk, I'd suggest making it a separate virtual disk from the one you put the OS on, and consider making it thick provisioned because it will fill up relatively fast anyway and stay nearly full at all times. Thin provisioning would be just added overhead I suspect.

I should also note there are utilities available to remove built-in Windows components to bring its RAM usage down and have less crap consuming CPU intermittently. Here's one I've used on an old tablet which worked fine: Revision | Revision
 
Last edited:
Overkilled. I use an Optiplex Micro PC with I9-9900T CPU with 32GB of ram and a Synology NAS. The PC runs Proxmox with 4VMs; Windows 10 with BI, Debian with CodeProject.AI thru CPU and ALPR in Docker, Home Assistant, another Debian CLI only.
I got 15 cameras, including 4 LPR cameras.
 
I run mine in a vm. I give it 10 cpu and 6 gb of ram to start(dynamic) and I could get by with less cpu, I just give it more cuz I can
 
Overkilled. I use an Optiplex Micro PC with I9-9900T CPU with 32GB of ram and a Synology NAS. The PC runs Proxmox with 4VMs; Windows 10 with BI, Debian with CodeProject.AI thru CPU and ALPR in Docker, Home Assistant, another Debian CLI only.
I got 15 cameras, including 4 LPR cameras.
The server is also going to host other services/applications so yes on the surface the specs seem excessive but BI will be sharing space with other stuff so it all balances out. I appreciate the feedback, sorry took so long to reply but I didnt get any emails tat I received response to my query, will have to look into this.
 
That server will be more than powerful enough.

Blue Iris is a traditional windows GUI program so it would probably be a waste of time trying to run it in a container/docker. It will work fine in a virtual machine. For a load of 10 cameras, I would allocate at least 10 GB of RAM and 4 to 8 CPU cores. You can always adjust as needed later. In a well-optimized Blue Iris installation, you'll be using sub streams for most or all of the cameras, so "idle" CPU usage, with nobody watching the cameras, should be fairly low. CPU usage will rise when someone is viewing a high resolution camera in "solo" or maximized mode, because that requires Blue Iris to do additional video decoding. Remote viewing in particular can be CPU intensive because it requires Blue Iris to encode an H.264 video stream in realtime. You'll want to allocate enough CPU cores to handle the peak load your system gets, even if that means Blue Iris only uses around 10% of the allocated CPU most of the time.

Quick Sync is mostly irrelevant anymore. Don't worry about passing through a GPU unless you want to use it for AI processing (which is optional; the models used for AI analytics can run on CPU). I don't use AI in any of my Blue Iris installations so I'm not really up to date on the system requirements for that, but you will have plenty of CPU and RAM to spare if needed and you can always add a GPU later.

For video recording, I would recommend passing through an entire hard drive to the VM (or more than one if you need more capacity). If you are going to record to a virtual disk, I'd suggest making it a separate virtual disk from the one you put the OS on, and consider making it thick provisioned because it will fill up relatively fast anyway and stay nearly full at all times. Thin provisioning would be just added overhead I suspect.

I should also note there are utilities available to remove built-in Windows components to bring its RAM usage down and have less crap consuming CPU intermittently. Here's one I've used on an old tablet which worked fine: Revision | Revision
Appreciate the feedback, let me just clarify what you noted so I understand. Just as FYI the server is going to host other apps/services so hw specs cover everything. I am not running AI at the moment but want to keep that as an option for future and take into consideration for the build and config.

Would it be advantageous to have a gpu like an NVDA 10x or 20x series which are under $100 to take pressure off cpu, do processing and speed things up and be there if wanted to play with AI? And if I did is setting up pass through pretty straight forward and works well? I havent done that in the past so just want to clarify.

As for storage do you recommend just 1 drive for live streams and stored (triggered) material? I currently use 1 drive for storing live streams (24x7) and triggered content for X days and then moving to another drive for longer term storage before deleting. This is a setup I came up with mainly due to working with hardware I had on hand and repurposed, it seems to work well but if going through this want to make improvements where they make sense and have redundancy.

As for storage type whats the current thinking or recommendations on hw, SSD or HDD? And should one buy into the marketing where drives are advertised as NVR or camera specific and are usually more $$?

Lastly, do you know what the future holds for BI? Is there a v6 on the horizon or any pending improvements that people are looking forward to?

Have there been any tools or tweaks in the current version 5.9.x that are a real benefit that somone running v5.6.5 may want to consider upgrading? I kind of ooeprate on the tinking that if there is nothing new that will be of immediate use to my situation or drastically improve performance/experience then I adopt a wait and see stance.

Thanks again for your inpu, its much appreciated.
 
Overkilled. I use an Optiplex Micro PC with I9-9900T CPU with 32GB of ram and a Synology NAS. The PC runs Proxmox with 4VMs; Windows 10 with BI, Debian with CodeProject.AI thru CPU and ALPR in Docker, Home Assistant, another Debian CLI only.
I got 15 cameras, including 4 LPR cameras.
I use a dell vostros now and it is plenty for my setup. I want to consolidate boxes into one and use VMs/containers where it makes sense to centralize stuff and cut down on the number of physical cpu's.

Do you run a gpu with your BI? If so which one?

To confirm you run your BI in a container or just CP?

I heard rumor but never followed up that there is a new AI server for BI, from what I recall codeproject was the original, not sure what the new one is. I tried CP but didnt feel that it was quite there yet but that was 4 years or so ago now.
 
I run mine in a vm. I give it 10 cpu and 6 gb of ram to start(dynamic) and I could get by with less cpu, I just give it more cuz I can
Good to know, seems like a VM would be just fine provided on how I have to slice up cores/mem/hdd for BI and other apps/services. What cpu do you have? Any issues with pass through?
 
When running virtually GPU passthrough to the VM is a must on the hypervior to be able to utlize Quick Sync.
GPU for AI proccessing.
the gpu is also useful for transcoding as well right? takes stress off cpu? for the cost i may put in a older gpu just to recoup overhead or if i go to AI.
 
Good to know, seems like a VM would be just fine provided on how I have to slice up cores/mem/hdd for BI and other apps/services. What cpu do you have? Any issues with pass through?
I run in hyper v, so pass through really isnt a thing and there really isnt anything to be gained by it either. I dont recall what cpu. Its a xeon silver something....
 
I use a dell vostros now and it is plenty for my setup. I want to consolidate boxes into one and use VMs/containers where it makes sense to centralize stuff and cut down on the number of physical cpu's.

Do you run a gpu with your BI? If so which one?

To confirm you run your BI in a container or just CP?

I heard rumor but never followed up that there is a new AI server for BI, from what I recall codeproject was the original, not sure what the new one is. I tried CP but didnt feel that it was quite there yet but that was 4 years or so ago now.

No GPU other than what's inside of the i9-9900T.

BI runs in Windows in VM.
CP runs in docker in Debian in a VM.
 
Would it be advantageous to have a gpu like an NVDA 10x or 20x series which are under $100 to take pressure off cpu, do processing and speed things up and be there if wanted to play with AI? And if I did is setting up pass through pretty straight forward and works well? I havent done that in the past so just want to clarify.

As for storage do you recommend just 1 drive for live streams and stored (triggered) material? I currently use 1 drive for storing live streams (24x7) and triggered content for X days and then moving to another drive for longer term storage before deleting. This is a setup I came up with mainly due to working with hardware I had on hand and repurposed, it seems to work well but if going through this want to make improvements where they make sense and have redundancy.

As for storage type whats the current thinking or recommendations on hw, SSD or HDD? And should one buy into the marketing where drives are advertised as NVR or camera specific and are usually more $$?

Lastly, do you know what the future holds for BI? Is there a v6 on the horizon or any pending improvements that people are looking forward to?

Have there been any tools or tweaks in the current version 5.9.x that are a real benefit that somone running v5.6.5 may want to consider upgrading? I kind of ooeprate on the tinking that if there is nothing new that will be of immediate use to my situation or drastically improve performance/experience then I adopt a wait and see stance.
An Nvidia GPU should be able to accelerate nearly any AI workload as long as there is enough video memory for it. It should be fairly easy to pass through if you use Proxmox as the hypervisor. However just having the GPU available will not help with BI's transcoding. You can specify to Blue Iris to use the GPU for hardware accelerated decoding and/or encoding purposes (these are configured in different places in BI) but it will not make a tremendous difference in CPU usage, and it will most likely raise your system's power consumption instead of reducing it. Just adding the GPU will raise power consumption significantly though even if you aren't using it for anything yet.

For storage, I'm not sure what you mean by "storing live streams and triggered content". BI lets you record each camera continuously OR event-triggered, but not both to different places unless you clone the camera instances. The rule of thumb for best storage performance and reliability is to not move clips when the drive is full, just delete them. If you have multiple hard drives, split the load by configuring some cameras to record to each of the drives and just have each drive configured to delete clips when full.

By having Blue Iris move clips between drives, both drives get the full load of having all clips written onto them, but you also double the workload of the first drive because now it must read every clip file completely one extra time. For a properly functioning hard drive this shouldn't cause much wear and tear but it can slow down the access time when you want to read clips that are on the first hard drive. This configuration also increases the complexity of Blue Iris's clip management duties, and many of us who have been using Blue Iris for a long time have encountered issues before with Blue Iris failing to move files off a full disk because of some bug.

SSDs perform great for storing Blue Iris video and will make access time / seek time better especially when playing recordings for a group of cameras via the Timeline. This is one case where it is justifiable to record directly to the SSD and when full move the clips to a hard drive for longer term storage.

Just make sure you check the SSD's endurance specification and avoid buying one with a low amount of endurance. Endurance is usually labeled "TBW" meaning "terabytes written". Doubling the drive capacity usually doubles the endurance. The average 4 TB SSD should have around 2400 TBW for its endurance spec, meaning the manufacturer will warranty the drive for up to 2400 terabytes of total writes (or until the regular warranty period expires, whichever happens first). It isn't a hard limit for the amount of data you can write to the SSD before it fails, but it is the best indicator we have of how long it should last. So If you buy a 1 TB SSD you can expect it to last about a quarter as long as a 4 TB SSD would, under the same video recording load.

Hard drives advertised for specific duties (e.g. NAS or NVR/surveillance) are kind of an unknown value. Hard drive manufacturers tend to be unspecific about the exact benefits. Like, we don't know if they used higher quality materials, better cooling technology, or maybe the firmware is coded to prevent long delays due to trying to read or write a bad sector. Or maybe it is just a different sticker on the drive and a different device identifier written into its firmware. We just don't know. So people just buy them based on the belief it will be slightly more reliable in the long term. I don't worry about it for drives where I'm going to be recording only on event triggers. But for stuff where I'll record continuously, I do prefer to buy a "surveillance" hard drive for the peace of mind.

BI 6 will be coming out soon but I get the feeling that won't be a hugely significant update. BI doesn't operate on a "buy the new major version upgrade" pricing model anymore. It is just a "pay for the next year of updates" model, so there's not much incentive to hold back new features for version 6. Heck the version 6 color scheme has already been making its way into version 5 in the last few patches.

There have been way too many changes to summarize between 5.6.5 and 5.9.9.90 which we're on now. Nothing huge that I can think of. Maybe AI integration is better but I don't use AI so I wouldn't really know. If you reinstall on new hardware or want to get started using AI with it, then I would definitely recommend renewing your support plan and installing the latest version. But otherwise if 5.6.5 works well for you, then it wouldn't hurt to stick with it.
 
An Nvidia GPU should be able to accelerate nearly any AI workload as long as there is enough video memory for it. It should be fairly easy to pass through if you use Proxmox as the hypervisor. However just having the GPU available will not help with BI's transcoding. You can specify to Blue Iris to use the GPU for hardware accelerated decoding and/or encoding purposes (these are configured in different places in BI) but it will not make a tremendous difference in CPU usage, and it will most likely raise your system's power consumption instead of reducing it. Just adding the GPU will raise power consumption significantly though even if you aren't using it for anything yet.

For storage, I'm not sure what you mean by "storing live streams and triggered content". BI lets you record each camera continuously OR event-triggered, but not both to different places unless you clone the camera instances. The rule of thumb for best storage performance and reliability is to not move clips when the drive is full, just delete them. If you have multiple hard drives, split the load by configuring some cameras to record to each of the drives and just have each drive configured to delete clips when full.

By having Blue Iris move clips between drives, both drives get the full load of having all clips written onto them, but you also double the workload of the first drive because now it must read every clip file completely one extra time. For a properly functioning hard drive this shouldn't cause much wear and tear but it can slow down the access time when you want to read clips that are on the first hard drive. This configuration also increases the complexity of Blue Iris's clip management duties, and many of us who have been using Blue Iris for a long time have encountered issues before with Blue Iris failing to move files off a full disk because of some bug.

SSDs perform great for storing Blue Iris video and will make access time / seek time better especially when playing recordings for a group of cameras via the Timeline. This is one case where it is justifiable to record directly to the SSD and when full move the clips to a hard drive for longer term storage.

Just make sure you check the SSD's endurance specification and avoid buying one with a low amount of endurance. Endurance is usually labeled "TBW" meaning "terabytes written". Doubling the drive capacity usually doubles the endurance. The average 4 TB SSD should have around 2400 TBW for its endurance spec, meaning the manufacturer will warranty the drive for up to 2400 terabytes of total writes (or until the regular warranty period expires, whichever happens first). It isn't a hard limit for the amount of data you can write to the SSD before it fails, but it is the best indicator we have of how long it should last. So If you buy a 1 TB SSD you can expect it to last about a quarter as long as a 4 TB SSD would, under the same video recording load.

Hard drives advertised for specific duties (e.g. NAS or NVR/surveillance) are kind of an unknown value. Hard drive manufacturers tend to be unspecific about the exact benefits. Like, we don't know if they used higher quality materials, better cooling technology, or maybe the firmware is coded to prevent long delays due to trying to read or write a bad sector. Or maybe it is just a different sticker on the drive and a different device identifier written into its firmware. We just don't know. So people just buy them based on the belief it will be slightly more reliable in the long term. I don't worry about it for drives where I'm going to be recording only on event triggers. But for stuff where I'll record continuously, I do prefer to buy a "surveillance" hard drive for the peace of mind.

BI 6 will be coming out soon but I get the feeling that won't be a hugely significant update. BI doesn't operate on a "buy the new major version upgrade" pricing model anymore. It is just a "pay for the next year of updates" model, so there's not much incentive to hold back new features for version 6. Heck the version 6 color scheme has already been making its way into version 5 in the last few patches.

There have been way too many changes to summarize between 5.6.5 and 5.9.9.90 which we're on now. Nothing huge that I can think of. Maybe AI integration is better but I don't use AI so I wouldn't really know. If you reinstall on new hardware or want to get started using AI with it, then I would definitely recommend renewing your support plan and installing the latest version. But otherwise if 5.6.5 works well for you, then it wouldn't hurt to stick with it.
Thank you for the detailed reply. Sorry for delay in responding, time is a dwindling commodity lately.

My build is primarily to integrate a local AI server that I control and not be limited by the guardrails imposed by the likes of chatgpt and saw this as an opportunity to consolidate other internal resources. The AI will be configured to use a high end Nvdia GPU but dont want that used by any other service which is why I was inquiring about a lower end card.

As a result of my inquiry into lowering cpu utilization I ran into a discussion which prompted me to setup the hardware encoding in BI to intel+vpp which has drastically reduce my cpu utilization. Right now I have a remote desktop connection going with the BI server and am logged into the UI and utilization doesnt go above 25% which is a big improvement, under normal conditions it usually runs around 5%. So I will maintain the same config when migrating to the new environment and keep an eye on it and see if it remains low. Since making the change utilization dropped significantly so I agree with you that adding another gpu will not do much good unless someting changes.

I put live content and triggered events onto one drive and have another drive setup so that when those age they get transferred for longer storage before getting purged, when I do the transfer the live drive data gets deleted. I do this mainly for 2 reasons, one because I am using HW that I had on hand and second it provides for a some redundancy and allows me to extend my retention period. I will probably maintain the same scheme in the new system but install larger drives to extend the retention periods and performance levels. I am still scoping this out and seeing what the costs will be, since gpu is critical for the AI build I have to balance costs because they are wicked expensive. The idea of using multiple drives to split up cameras sounds possible especially if I extend retention periods which will increase amount of data and thus potentially impact performance. I could increase the storage drive size and have the live drive be smaller and transfer at off peak hours or more frequently so live recording performance isnt impacted by large amounts of data.

I will have to put some thought and research into the drives types, makes and sizes. I am glad to hear that SSDs for live is a good choice, many out there still prefer mechanical drives for the whole thing than SSDs for whatever reason. Its good to know about the TBW spec, not something I have looked at in the past, I usually try to find MTTF (mean time to failure) specs to gauge durability since I find how long the drive motor or head actuator is rated to last being a good thing to know before buying an HDD, SSDs obviously are different here. I try not to buy the hype but go with brands that have been good to me in the past which is usually seagate or WD, I completely avoid drives that have hidden or restricted partitions with bloatware that I cant remove, extremely annoying and off putting.

I may buy the new version of bI when I do the upgrade just to start off clean but will see when it comes time, its not a big expense and AI is not factoring heavily into my current needs but you never know I may get bored and want to tinker around.

If I decide not to upgrade and install my current version, I should be able to do that and use my license key with no issues right?

So just to confirm you feel BI will work well as a VM? I have found that the various apps/services I will be running that not all will work in or as well if in a VM and I will have to use containers, trying to get that squared away as well so I can map everything before moving into the build as this will impact to some degree the components I buy.

Again thank you for your indepth response, its very much appreciated. Apologies for any mispellings, seems there is no spellcheck I could find and the browser isnt cathcing all of them.
 
If I decide not to upgrade and install my current version, I should be able to do that and use my license key with no issues right?

Correct. You can only have one machine activated at a time, and if you try to activate and get told your key has been activated too many times, you need to contact Blue Iris Support to have it reset.

So just to confirm you feel BI will work well as a VM?

Yes it will work fine in a VM.