Network share on Frigate HASSOS with nabucasa(SSL) and Proxmox LXC container

Network share on Frigate HASSOS with nabucasa(SSL)
Tutorial for HASSOS, proxmox LXC, netowork share, Frigate sidebar, nginx, nabucasa

I have sucessfuly install Frigate on Proxmox LXC with network share.
I would like to share it with you, feel free to give like or comment :slight_smile:

1.Story
2.Start
3.Remove/uninstall Frigate addon.
4.Proxmox Virtual Environment 6.3-6
5.Go to your router and check that the loaded container receive IP and make it static. Make a note about IP
6.Proxmox ssh
7.Proxmox ssh inside container - Install docker
8.Proxmox ssh inside container - install docker-compose
9.Proxmox ssh inside container - install frigate docker
10.Running Frigate docker
11.Nabucasa - not finished
12.Automating container (mounts,docker,frigate docker) - not finished

1.Story
Why?
The HASSOS frigate addon is perfect but doesnt have / or i didn’t find the option to mount network share.
How?
I want HASSOS to be able to access frigate on seperate container on local lan (or host only local lan PROXMOX)
Tools needed:
Proxmox
Sambashare addon installed and activated (remember login/password change in configuration)
I am not using any coral, for that you need assistance from somebody else afterwards :>
I’m using integrated INTEL graphics
Ready to copy / paste :slight_smile:
Frigate thread:

https://community.home-assistant.io/t/local-realtime-person-detection-for-rtsp-cameras/

2.Start
If you have don’t Frigate addon installed, jump to step 4

3.Remove/uninstall Frigate addon.
As it is duplicate of what we will do
Keep the file frigate.yml we will need it later but renamed to config.yml

4.Proxmox Virtual Environment 6.3-6
Goto local storage on sidebar
Click templates
Search Debian 10 Buster (standard) (why? because i <3 debian)
Click download,after finish close
click Create CT (tick advance)
Hostname frigate
Uncheck unprivilage container (to be able to access network shares)
Put any password (i don’t know what is it for)
Click next
Choose template that you downloaded, next
Put 12GB storage,next
Put how many cores you want to use, next
Put how many RAM you want (me 3072),leave cache 512, next
Choose DHCP for IPv4,IPv6 leave untouched, next,next
Make sure start container after creation is ticked, Finish
Shutdown the container
edit option->Features->Netsting tick
Goto /etc/pve/lxc/ with containerid.config
edit file

nano /etc/pve/lxc/<CTID>.config

add this lines
lxc.apparmor.profile = unconfined
lxc.cgroup.devices.allow = a
lxc.cap.drop =
lxc.cgroup.devices.allow = c 226:0 rwm
lxc.cgroup.devices.allow = c 226:128 rwm
lxc.cgroup.devices.allow = c 29:0 rwm
lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry = /dev/fb0 dev/fb0 none bind,optional,create=file

start the container

5.Go to your router and check that the loaded container receive IP and make it static. Make a note about IP

6.Proxmox ssh + inside container
Connect to proxmox ssh

cd /var/lib/lxc/containerID/

Here is config file for the configuration for the container.

now write in shell “pct enter ID” my is 107 so “pct enter 107” hit enter
you will see change to root@frigate:/#
Now you are in the container.
Run next command (non mandatory,just for easy use)

apt update;apt install nano;apt install mc -y

Run next command (mandatory)

apt update;apt install cifs-utils -y
apt upgrade -y
nano /root/.bashrc

put on the last line

export PATH=$PATH:/usr/local/bin
cd /root/

7.Proxmox ssh inside container - Install docker

apt install apt-transport-https ca-certificates curl software-properties-common gnupg2 -y
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
apt update
apt install docker-ce -y

Check that its loaded (active (running)) by

systemctl status docker

Enable autorun
systemctl enable docker
If locale error Troubleshooting look 21

8.Proxmox ssh inside container - install docker-compose
Goto on your PC in your browser

Copy link of docker-compose-Linux-x86_64
My is
https://github.com/docker/compose/releases/download/1.29.1/docker-compose-Linux-x86_64
write to shell

curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-Linux-x86_64" -o /usr/local/bin/docker-compose

write to shell

chmod +x /usr/local/bin/docker-compose

now write in shell

reboot now

after 5sec reconect to container by

pct enter 107

you will see this root@frigate:/#
write to shell

docker-compose --version

output should be something like this
docker-compose version 1.29.1, build c34c88b2
Go to your root folder /root/
write

mkdir dockfrigate
cd dockfrigate

U see root@frigate:~/dockfrigate#
write

nano docker-compose.yml

9.Proxmox ssh inside container - install frigate docker
Goto on PC

Read the latest settings for docker
Copy them to docker-compose.yml
Change the <path_to_config_file> to

/mnt/hassconfig/config.yml

Change the <path_to_directory_for_media> to

/mnt/media

Change frigate_rtsp_password on some random letters
Change <specify_version_tag> to
stable-amd64
Save & exit
Now write

mkdir /mnt/media
mkdir /mnt/hassconfig

Test that the mounts will go through

mount -vvv -t cifs -o username=<username>,password=<password>,domain=WORKGROUP  //ipANDpathTOnasMEDIAstorage /mnt/media
mount -vvv -t cifs -o username=<username>,password=<password>,domain=WORKGROUP  //ipTOhassOSsambashare/config /mnt/hassconfig

Troubleshooting 24 (mount special device error)
Later you can put mouns to /etc/fstab to make it automount (i did’nt do that because i’m missing some settings, its not always comming up)

10.Running Frigate docker
write

cd /root/dockfrigate/

Now change the name of the file frigate.yml in HASSOS to config.yml
then go back to ssh container

ip a

mark down the ip for HASSOS setup
And run

docker-compose up

Troubleshooting see number 20
Troubleshooting see number 22
Troubleshooting see number 23

Now check that its working

http://<markDOWNip>:5000/

11.Setting up HASSOS
We need to add integration
create a folder in File editor on HASS
custom_components
Download this zip file

https://github.com/blakeblackshear/frigate-hass-integration

connect to the samba HASSOS from your PC and upload frigate folder to HASSOS samba share custom_components folder
add line to config.yml

database:
  path: /config/frigate.db

restart fully HASSOS Supervisor->System->Restart host
Go to Configuration->Integration and search for Frigate
Troubleshooting 25
Add the marked IP address

Click finish
Goto file editor again
configuration.yaml add this lines

panel_iframe:
  router:
    title: "Frigate"
    url: "http://<your mark ip>:5000/"

restart fully HASSOS Supervisor->System->Restart host

If everything is working then in the container stop frigate
goto /root/dockfrigate

docker-compose stop

Then run it again to doublecheck

docker-compose run

If everything is ok then detach the process so you can exit

docker-compose stop
docker-compose run -d

exit/close all

Troubleshotting
If you have some problems, just disable docker in container and start it, then docker-compose up in dockfrigate folder

11.Nabucasa
As the HTTPS->HTTP iframe is not working we need to make a server nginx witch we translate http->https
On PC you will see the iframe Frigate, but on mobile no.
To be continued… :slight_smile: When i will be having more free time.


Troubleshooting

20. empty
If you have empty response on docker-compose up
check systemctl status docker
or check journalctl -xe
solve the problem
mine was the IPv6 was DHCP.
I just repeat all steps i think i missed something else.After repeating it all went fine

21. locale error
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = “en_US.UTF-8”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
fix
https://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian
and just reboot container

22. config not found
check that you have mounted everything

23. caused: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)?
I mounted wrong samba share where was other frigate already mounted.
Maybe a limitation of sambashare?

24. mount special device error
Check that your container is not in lvm-thin. we need directory storage

25. if you cant find frigate integration
Open other browser as the problem is with cache, or clean full cache in the browser

Sources:

https://linuxize.com/post/how-to-install-and-use-docker-on-debian-9/
https://linuxize.com/post/how-to-install-and-use-docker-compose-on-debian-9/
https://blakeblackshear.github.io/frigate/installation/
google.com
4 Likes

depreciated.
look
https://community.home-assistant.io/t/solved-hassos-mount-nas-network-share/

Hi, till this step everything went well… but now I get an error:

root@frigatelxc:~/dockfrigate# mkdir /mnt/media
root@frigatelxc:~/dockfrigate# mkdir /mnt/hassconfig
root@frigatelxc:~/dockfrigate# mount -vvv -t cifs -o username=frigatelxc,password=o2|m4X,domain=WORKGROUP  //192.168.1.99/frigate /mnt/media
=frigatelxc,password=o2|m4X,domain=WORKGROUP  //192.168.1.99/frigate/config /mnt/hassconfig-bash: m4X,domain=WORKGROUP: command not found
mount: bad usage
Try 'mount --help' for more information.
root@frigatelxc:~/dockfrigate# mount -vvv -t cifs -o username=frigatelxc,password=o2|m4X,domain=WORKGROUP  //192.168.1.99/frigate/config /mnt/hassconfig
-bash: m4X,domain=WORKGROUP: command not found
mount: bad usage
Try 'mount --help' for more information.
root@frigatelxc:~/dockfrigate#

An also, since I want to run this totally separated from Hassos, I decided to mount the share to the same one on the nas hosting the config.yml file there…

Yo, so you did installed cifs-utils, right?
Try empty mount command to see if it gives any output…
Does ping/network work?
And just for test remove | from the password

And regarding this thread:

Can you try this in frigate.yml?Above the mqtt

ffmpeg:
  # Optional: global ffmpeg args (default: shown below)
  global_args: -hide_banner -loglevel warning
  # Optional: global hwaccel args (default: shown below)
  # NOTE: See hardware acceleration docs for your specific device
  hwaccel_args: []
  # Optional: global input args (default: shown below)
  input_args: -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -stimeout 5000000 -use_wallclock_as_timestamps 1
  # Optional: global output args
  output_args:
    # Optional: output args for detect streams (default: shown below)
    detect: -f rawvideo -pix_fmt yuv420p
    # Optional: output args for record streams (default: shown below)
    record: -f segment -segment_time 60 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an
    # Optional: output args for clips streams (default: shown below)
    clips: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an

here you can check debug also,see?

What can I see there?

What ever you see in debug, paste here. It should say why your cameras is lagging as you mention on other thread.

{
  "cameras": {
    "parkeerplaats": {
      "best_image_timeout": 60,
      "clips": {
        "enabled": false,
        "objects": null,
        "post_capture": 5,
        "pre_capture": 5,
        "required_zones": [],
        "retain": {
          "default": 10,
          "objects": {
            "person": 150
          }
        }
      },
      "detect": {
        "enabled": true,
        "max_disappeared": 30
      },
      "ffmpeg_cmds": [
        {
          "cmd": "ffmpeg -hide_banner -loglevel warning -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -stimeout 5000000 -use_wallclock_as_timestamps 1 -i rtsp://admin:[email protected]:554/Streaming/Channels/102/ -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an /tmp/cache/parkeerplaats-%Y%m%d%H%M%S.mp4 -r 6 -f rawvideo -pix_fmt yuv420p pipe:",
          "roles": [
            "detect",
            "clips"
          ]
        }
      ],
      "fps": 6,
      "frame_shape": [
        480,
        640
      ],
      "height": 480,
      "motion": {
        "contour_area": 100,
        "delta_alpha": 0.2,
        "frame_alpha": 0.2,
        "frame_height": 80,
        "mask": "402,30,461,47,455,170,640,230,640,0,474,0,56,0,58,45,207,57,206,34,233,32,229,88,326,77,354,54,379,38",
        "threshold": 25
      },
      "mqtt": {
        "bounding_box": true,
        "crop": true,
        "enabled": true,
        "height": 270,
        "required_zones": [],
        "timestamp": true
      },
      "name": "parkeerplaats",
      "objects": {
        "filters": {
          "bicycle": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          },
          "car": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          },
          "dog": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          },
          "person": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          }
        },
        "mask": null,
        "track": [
          "person",
          "car",
          "dog",
          "bicycle"
        ]
      },
      "record": {
        "enabled": false,
        "retain_days": 30
      },
      "rtmp": {
        "enabled": true
      },
      "snapshots": {
        "bounding_box": false,
        "crop": false,
        "enabled": true,
        "height": null,
        "required_zones": [],
        "retain": {
          "default": 10,
          "objects": {}
        },
        "timestamp": false
      },
      "width": 640,
      "zones": {}
    },
    "schuurachter": {
      "best_image_timeout": 60,
      "clips": {
        "enabled": false,
        "objects": null,
        "post_capture": 5,
        "pre_capture": 5,
        "required_zones": [],
        "retain": {
          "default": 10,
          "objects": {
            "person": 150
          }
        }
      },
      "detect": {
        "enabled": true,
        "max_disappeared": 30
      },
      "ffmpeg_cmds": [
        {
          "cmd": "ffmpeg -hide_banner -loglevel warning -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -stimeout 5000000 -use_wallclock_as_timestamps 1 -i rtsp://admin:[email protected]:554/Streaming/Channels/102/ -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an /tmp/cache/schuurachter-%Y%m%d%H%M%S.mp4 -r 6 -f rawvideo -pix_fmt yuv420p pipe:",
          "roles": [
            "detect",
            "clips"
          ]
        }
      ],
      "fps": 6,
      "frame_shape": [
        576,
        704
      ],
      "height": 576,
      "motion": {
        "contour_area": 100,
        "delta_alpha": 0.2,
        "frame_alpha": 0.2,
        "frame_height": 96,
        "mask": null,
        "threshold": 25
      },
      "mqtt": {
        "bounding_box": true,
        "crop": true,
        "enabled": true,
        "height": 270,
        "required_zones": [],
        "timestamp": true
      },
      "name": "schuurachter",
      "objects": {
        "filters": {
          "bicycle": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          },
          "car": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          },
          "dog": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          },
          "person": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          }
        },
        "mask": null,
        "track": [
          "person",
          "car",
          "dog",
          "bicycle"
        ]
      },
      "record": {
        "enabled": false,
        "retain_days": 30
      },
      "rtmp": {
        "enabled": true
      },
      "snapshots": {
        "bounding_box": false,
        "crop": false,
        "enabled": true,
        "height": null,
        "required_zones": [],
        "retain": {
          "default": 10,
          "objects": {}
        },
        "timestamp": false
      },
      "width": 704,
      "zones": {}
    },
    "terras": {
      "best_image_timeout": 60,
      "clips": {
        "enabled": false,
        "objects": null,
        "post_capture": 5,
        "pre_capture": 5,
        "required_zones": [],
        "retain": {
          "default": 10,
          "objects": {
            "person": 150
          }
        }
      },
      "detect": {
        "enabled": true,
        "max_disappeared": 20
      },
      "ffmpeg_cmds": [
        {
          "cmd": "ffmpeg -hide_banner -loglevel warning -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -stimeout 5000000 -use_wallclock_as_timestamps 1 -i rtsp://admin:[email protected]:554/Streaming/Channels/101/ -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an /tmp/cache/terras-%Y%m%d%H%M%S.mp4 -r 4 -f rawvideo -pix_fmt yuv420p pipe:",
          "roles": [
            "detect",
            "clips"
          ]
        }
      ],
      "fps": 4,
      "frame_shape": [
        2160,
        3840
      ],
      "height": 2160,
      "motion": {
        "contour_area": 100,
        "delta_alpha": 0.2,
        "frame_alpha": 0.2,
        "frame_height": 360,
        "mask": "3840,0,3840,1290,3193,1383,3069,769,3001,378,2723,0",
        "threshold": 25
      },
      "mqtt": {
        "bounding_box": true,
        "crop": true,
        "enabled": true,
        "height": 270,
        "required_zones": [],
        "timestamp": true
      },
      "name": "terras",
      "objects": {
        "filters": {
          "bird": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          },
          "cat": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          },
          "dog": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          }
        },
        "mask": null,
        "track": [
          "bird",
          "dog",
          "cat"
        ]
      },
      "record": {
        "enabled": false,
        "retain_days": 30
      },
      "rtmp": {
        "enabled": true
      },
      "snapshots": {
        "bounding_box": false,
        "crop": false,
        "enabled": true,
        "height": null,
        "required_zones": [],
        "retain": {
          "default": 10,
          "objects": {}
        },
        "timestamp": false
      },
      "width": 3840,
      "zones": {}
    },
    "voordeur": {
      "best_image_timeout": 60,
      "clips": {
        "enabled": false,
        "objects": null,
        "post_capture": 5,
        "pre_capture": 5,
        "required_zones": [],
        "retain": {
          "default": 10,
          "objects": {
            "person": 150
          }
        }
      },
      "detect": {
        "enabled": true,
        "max_disappeared": 30
      },
      "ffmpeg_cmds": [
        {
          "cmd": "ffmpeg -hide_banner -loglevel warning -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -stimeout 5000000 -use_wallclock_as_timestamps 1 -i rtsp://admin:[email protected]:554/Streaming/Channels/102/ -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an /tmp/cache/voordeur-%Y%m%d%H%M%S.mp4 -r 6 -f rawvideo -pix_fmt yuv420p pipe:",
          "roles": [
            "detect",
            "clips"
          ]
        }
      ],
      "fps": 6,
      "frame_shape": [
        576,
        704
      ],
      "height": 576,
      "motion": {
        "contour_area": 100,
        "delta_alpha": 0.2,
        "frame_alpha": 0.2,
        "frame_height": 96,
        "mask": null,
        "threshold": 25
      },
      "mqtt": {
        "bounding_box": true,
        "crop": true,
        "enabled": true,
        "height": 270,
        "required_zones": [],
        "timestamp": true
      },
      "name": "voordeur",
      "objects": {
        "filters": {
          "cat": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          },
          "dog": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          },
          "person": {
            "mask": [],
            "max_area": 24000000,
            "min_area": 0,
            "min_score": 0.5,
            "threshold": 0.7
          }
        },
        "mask": null,
        "track": [
          "person",
          "dog",
          "cat"
        ]
      },
      "record": {
        "enabled": false,
        "retain_days": 30
      },
      "rtmp": {
        "enabled": true
      },
      "snapshots": {
        "bounding_box": false,
        "crop": false,
        "enabled": true,
        "height": null,
        "required_zones": [],
        "retain": {
          "default": 10,
          "objects": {}
        },
        "timestamp": false
      },
      "width": 704,
      "zones": {}
    }
  },
  "clips": {
    "max_seconds": 30,
    "retain": {
      "default": 100,
      "objects": {
        "person": 150
      }
    },
    "tmpfs_cache_size": "256m"
  },
  "database": {
    "path": "/media/frigate/clips/frigate.db"
  },
  "detectors": {
    "coral": {
      "device": "usb",
      "num_threads": 3,
      "type": "edgetpu"
    }
  },
  "environment_vars": {},
  "logger": {
    "default": "DEBUG",
    "logs": {}
  },
  "model": {
    "height": 320,
    "width": 320
  },
  "mqtt": {
    "client_id": "frigate200",
    "host": "192.168.1.142",
    "port": 1883,
    "stats_interval": 60,
    "topic_prefix": "frigate200",
    "user": "mqtt"
  },
  "snapshots": {
    "retain": {
      "default": 10,
      "objects": {}
    }
  }
}

Yeah, no, then thats not it. So lets start from the begining. First lets fix the mounts then we go further. Otherwise we jump from one to another.
The easiest would be for me connect though :> nvm.
Instruction:
1.Fix the mount
2.When you go by my toturial when you start docker compose up then you will see detailed debug log on run , where it will be written why your cameras not working etc. So it should be very easy from that part.

Ohh thats it!

Now you have the debug log, other people should be abble to assist, otherwise write to developer blacksomething

Yeah i don’t know but maybe this is a problem?

ffmpeg.schuurachter.detect     ERROR   : Error writing trailer of /tmp/cache/schuurachter-%Y%m%d%H%M%S.mp4: No space left on device

:smiley:

I bet, but what to do to solve?

As there is so many posibilities with linux and its outside the scope of home assistant and frigate. I can help only with remote connection as going through step by step would take months.
Otherwise i suggest to google “proxmox container tmp no space left on device”
And sort it out.

Or maybe you can just lower as it says, maybe it will help
frigate.events WARNING : Consider increasing space available at /tmp/cache or reducing max_seconds in your clips config.
Remember logs are very powerfull stuff, it should always guide where you should go and check.

I’m stuck on there

docker-compose up
root@FRIGATE:~/dockfrigate# docker-compose up

Usage:  docker [OPTIONS] COMMAND

docker-compose is a Docker CLI plugin

Options:
      --config string      Location of client config files (default "/root/.docker")
  -c, --context string     Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default "/root/.docker/ca.pem")
      --tlscert string     Path to TLS certificate file (default "/root/.docker/cert.pem")
      --tlskey string      Path to TLS key file (default "/root/.docker/key.pem")
      --tlsverify          Use TLS and verify the remote

Management Commands:
  completion                 generate the autocompletion script for the specified shell
  compose                    Docker Compose

Run 'docker COMMAND --help' for more information on a command.

To get more help with docker, check out our guides at https://docs.docker.com/go/guides/

I have proxmox and a vm with hassos and frigate with coral usb passthrough

But i have a lot of error so I’m trying to install frigate on the host.

How can I do that? I’m a little newbie with that, especially with docker.

I see that maybe can fix my problem and i can use coral with low inferences and frigate process can’t goes down.

So you follow all the steps that are described and docker up is not working right?
If yes, then show ls -la in that frigate folder

Have you considered using frigate addon and use USB passthrough?
You need to pass the whole USB controoler though. If its a headless server that should not be a problem.

FIY i moved to this solution, which works well.But using PCI passthrough coral

frigate add on i use for now but have this error that i wrote in github.

i’ll try right now to passthrough usb controller.

anyway docker seems a better solution.

root@FRIGATE:~/dockfrigate# ls -la
total 12
drwxr-xr-x 2 root root 4096 Sep  9 19:32 .
drwx------ 4 root root 4096 Sep  9 15:29 ..
-rw-r--r-- 1 root root  747 Sep  9 16:53 docker-compose.yml
version: "3.9"
services:
  frigate:
    container_name: frigate
    privileged: true # this may not be necessary for all setups
    restart: unless-stopped
    image: blakeblackshear/frigate:stable-amd64
    devices:
      - /dev/bus/usb:/dev/bus/usb
      - /dev/dri/renderD128 # for intel hwaccel, needs to be updated for your hardware
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /mnt/hassconfig/config.yml:/config/config.yml:ro
      - /mnt/media:/media/frigate
      - type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "5000:5000"
      - "1935:1935" # RTMP feeds
    environment:
      FRIGATE_RTSP_PASSWORD: "mypass"
root@FRIGATE:/mnt# ls -la
total 12
drwxr-xr-x  4 root root 4096 Sep  9 15:38 .
drwxr-xr-x 22 root root 4096 Sep  9 15:46 ..
-rw-r--r--  1 root root  756 Sep  9 15:35 docker-compose.yml
drwxr-xr-x  2 root root    0 Sep  9 15:37 hassconfig
drwxr-xr-x  2 root root    0 Sep  9 15:43 media

EDIT:

root@NUC-i3:~# lspci
00:00.0 Host bridge: Intel Corporation Device 3ecc (rev 08)
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-U GT3e [Iris Plus Graphics 655] (rev 01)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Point-LP Thermal Controller (rev 30)
00:14.0 USB controller: Intel Corporation Cannon Point-LP USB 3.1 xHCI Controller (rev 30)
00:14.2 RAM memory: Intel Corporation Cannon Point-LP Shared SRAM (rev 30)
00:14.3 Network controller: Intel Corporation Cannon Point-LP CNVi [Wireless-AC] (rev 30)
00:16.0 Communication controller: Intel Corporation Cannon Point-LP MEI Controller #1 (rev 30)
00:17.0 SATA controller: Intel Corporation Cannon Point-LP SATA Controller [AHCI Mode] (rev 30)
00:1c.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #1 (rev f0)
00:1c.4 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #5 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #9 (rev f0)
00:1d.6 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #15 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Cannon Point-LP LPC Controller (rev 30)
00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30)
00:1f.4 SMBus: Intel Corporation Cannon Point-LP SMBus Controller (rev 30)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP SPI Controller (rev 30)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (6) I219-V (rev 30)
6e:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader (rev 01)

I can’t passthrough the entire usb controller, there is only one

I wish to create a container with frigate, and i don’t understand if needed or not, get a pasthrough gpu and coral usb.

Anyway proxmox with hass os and frigate, gpu and usb coral passthrough, get frigate in a reboot every time, so is impossible to use, and docker is the last chance, or use the entire nuc, and i don’t want use the entire nuc only for HA