Docker를 사용하여 Home Assistant 통합된 원격 Frigate 설치
표지
- 소개
- Frigate란?
- Frigate 설치
- Docker를 통한 Frigate 설치
- Home Assistant 통합
- Frigate 구성 파일 설정
- Frigate 설정 파일 참고
- Frigate Docker 컨테이너 실행
- Frigate와 Home Assistant 통합 설정
- 결론
1. 소개
Frigate는 Docker 컨테이너에 설치하여 Home Assistant와 연결할 수 있는 방법을 알려드릴 것입니다. Frigate는 Home Assistant 및 AI 객체 감지를 위해 개발된 완전한 로컬 NVR입니다. 이는 IP 카메라를 위해 OpenCV와 TensorFlow를 사용하여 실시간 객체 감지를 수행하며, 작은 자원을 사용하여 Docker 컨테이너에서 작동합니다. Frigate는 외부 TPU와 함께 사용하면 CPU 사용량이 줄어들어 하드웨어 및 전력을 절약 할 수 있으며, 어떤 종류의 수수료도 없이 로컬에서 여러 카메라를 운영할 수 있습니다.
2. Frigate란?
Frigate는 Home Assistant를 위한 완전한 로컬 NVR로서, AI 객체 감지 기능을 제공합니다. Frigate는 OpenCV와 TensorFlow를 사용하여 IP 카메라에서 로컬에서 실시간 객체 감지를 수행합니다. 이를 통해 별도의 서버 또는 클라우드 서비스없이 완전히 자체적으로 작동할 수 있습니다. Frigate는 Docker 컨테이너로 실행되므로 어떤 Docker 호스트에서도 실행할 수 있습니다.
2.1 Frigate 기능
Frigate는 다음과 같은 기능을 제공합니다:
- 실시간 송출
- 이벤트 기록
- 객체 감지 및 분류
- 움직임 감지
- 잡음 제거
- 웹 기반 사용자 인터페이스
3. Frigate 설치
Frigate를 설치하기 위해서는 Docker 컨테이너를 사용해야 합니다. 그러나, Frigate는 Debian 기반의 리눅스 배포판 또는 VM에 직접 설치하는 것이 가장 좋습니다. 또한, Frigate는 MQTT 브로커를 필요로 하므로 별도로 설정해주어야 합니다. MQTT 브로커 설정은 본 문서에서 다루지 않습니다. Frigate 설치에 대해 언급하는데, 두 가지 경우가 있습니다: Home Assistant Add-on과 Docker 컨테이너입니다.
3.1 Home Assistant Add-on으로 Frigate 설치하기
Home Assistant Add-on으로 Frigate를 설치하여 사용할 수 있습니다. 그러나, 이 방법은 Frigate를 독립적인 장치로 실행하는 것보다 성능이 떨어질 수 있습니다. 또한, Add-on은 설치만 가능하며 통합은 제공되지 않습니다.
3.2 Docker 컨테이너를 통한 Frigate 설치하기
Frigate를 직접 설치하고 사용하기 위해서는 Docker 컨테이너를 이용해야 합니다. Docker 컨테이너를 사용하면 Frigate가 외부 하드웨어 및 자원에 직접 액세스 할 수 있어 최적의 성능을 얻을 수 있습니다.
4. Docker를 통한 Frigate 설치
Frigate를 Docker를 사용하여 설치하는 방법을 알려드리겠습니다. Docker를 사용하면 Frigate를 어떤 Docker 호스트에서든 실행할 수 있으며, 신속하고 효율적인 설치가 가능합니다.
4.1 Docker Compose 설정
Docker Compose를 사용하여 Frigate를 설치할 수 있습니다. Docker Compose란 여러 개의 독립적인 Docker 서비스를 정의하고 실행하기 위한 도구입니다. Frigate의 Docker Compose 파일을 편집하여 Frigate를 설치합니다. 파일에서 필요한 설정을 수정한 후, Docker Compose 명령을 통해 실행할 수 있습니다.
4.2 Docker Compose 파일 예시
다음은 Frigate를 설치하기 위한 Docker Compose 파일의 예입니다.
version: '3'
services:
frigate:
container_name: frigate
image: frigate/frigate:stable-amd64
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- ./frigate/config.yml:/config.yml
- ./frigate/assets:/assets
- ./frigate/clips:/clips
- ./frigate/db:/db
ports:
- 5000:5000
environment:
- RTSP_PASSWORD=mypassword
위의 예시 파일에서 필요에 따라 경로와 포트를 수정할 수 있습니다.
5. Home Assistant 통합
Frigate를 Home Assistant와 통합하여 사용하기 위해 몇 가지 설정을 해주어야 합니다. Home Assistant의 Integration 설정에서 Frigate를 추가하고, Frigate가 실행되는 URL과 포트를 지정해야 합니다.
5.1 Home Assistant Integration 설정
Home Assistant의 Integration 설정에서 Frigate를 추가하는 방법은 다음과 같습니다:
- Home Assistant 대시보드에서 Configuration을 엽니다.
- 좌측 메뉴에서 Integrations을 선택합니다.
- 우측 하단의 ADD INTEGRATION 버튼을 클릭합니다.
- Frigate을 검색하여 선택합니다.
- Frigate의 접속 URL을 입력합니다. 설정한 URL은 Frigate가 실행되는 IP 주소와 포트를 포함해야 합니다. (예: http://192.168.0.100:5000)
- 추가 설정을 완료한 후, 제출 버튼을 클릭합니다.
6. Frigate 구성 파일 설정
Frigate의 구성 파일을 편집하여 Frigate를 원하는대로 설치할 수 있습니다. 구성 파일에는 다양한 설정 옵션이 있으며, 필수 설정은 반드시 작성해야 합니다.
6.1 Frigate 구성 파일 예시
다음은 Frigate 구성 파일의 예시입니다:
camera:
- name: Living Room
ffmpeg:
input: rtsp://192.168.0.10:554/0
- name: Front Door
ffmpeg:
input: rtsp://192.168.0.11:554/0
위의 예시에서는 두 개의 카메라를 설정하는 방법을 보여줍니다. name 항목은 카메라의 이름을, ffmpeg 항목은 해당 카메라의 RTSP URL을 설정합니다. 자세한 설정 방법은 Frigate 구성 파일 참고를 확인하세요.
7. Frigate 구성 파일 참고
Frigate 구성 파일에 대한 자세한 내용은 Frigate 웹사이트의 구성 파일 참고를 참조하세요. 구성 파일 참고는 각 설정 항목에 대한 설명과 예시가 포함되어 있어 쉽게 따라할 수 있습니다.
8. Frigate Docker 컨테이너 실행
Frigate를 Docker 컨테이너에서 실행하기 위해서는 Frigate Docker 컨테이너를 실행해야 합니다. Docker 컨테이너를 실행하면 Frigate가 실행되며, 로그를 확인할 수 있습니다. 실행 중인 Docker 컨테이너는 제어와 모니터링을 위해 커맨드 창에 남습니다.
9. Frigate와 Home Assistant 통합 설정
Frigate와 Home Assistant를 통합하여 사용하기 위해서는 Home Assistant Integration 설정에서 Frigate 접속 URL과 포트를 지정해야 합니다. 지정한 URL과 포트를 통해 Home Assistant에서 Frigate의 카메라 및 이벤트에 액세스할 수 있습니다.
10. 결론
Frigate를 Docker 컨테이너에서 설치하고 Home Assistant와 통합하는 방법에 대해 알아보았습니다. 이를 통해 로컬 NVR 시스템을 구성하고 AI 객체 감지를 활용할 수 있습니다. Frigate는 간편한 설치 및 설정을 통해 Home Assistant에서 사용하기 쉽고 효과적입니다.