Add README.md
This commit is contained in:
parent
0f9a7c1d6b
commit
30a95d6327
|
|
@ -0,0 +1,299 @@
|
|||
# Frigate NVR with SMB Storage on Arch Linux
|
||||
|
||||
## Overview
|
||||
|
||||
This project provides an automated installation script for deploying Frigate NVR on Arch Linux with video recordings stored on a remote SMB/CIFS network share.
|
||||
|
||||
The installer will:
|
||||
|
||||
* Install Docker and Docker Compose
|
||||
* Install CIFS/SMB utilities
|
||||
* Configure an SMB credentials file
|
||||
* Automatically mount an SMB share
|
||||
* Create a Frigate Docker Compose deployment
|
||||
* Create a starter Frigate configuration
|
||||
* Configure persistent recording storage on the SMB share
|
||||
* Start Frigate automatically
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
* Arch Linux compatible
|
||||
* Docker-based deployment
|
||||
* SMB/NAS recording storage
|
||||
* Automatic startup after reboot
|
||||
* Recording retention policies
|
||||
* Storage usage limits
|
||||
* Easy camera configuration
|
||||
* Ready for Home Assistant integration
|
||||
|
||||
---
|
||||
|
||||
## Requirements
|
||||
|
||||
### Server
|
||||
|
||||
* Arch Linux
|
||||
* Internet connection
|
||||
* Root or sudo access
|
||||
* Docker-compatible hardware
|
||||
|
||||
### Network Storage
|
||||
|
||||
* SMB/CIFS share
|
||||
* Read/Write permissions
|
||||
* Stable network connection
|
||||
|
||||
### Cameras
|
||||
|
||||
* RTSP-compatible cameras
|
||||
* ONVIF-compatible cameras (recommended)
|
||||
|
||||
Examples:
|
||||
|
||||
* Amcrest
|
||||
* Reolink
|
||||
* Dahua
|
||||
* Hikvision
|
||||
* Axis
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
Download the installer:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/YOUR_USERNAME/frigate-smb-arch.git
|
||||
cd frigate-smb-arch
|
||||
chmod +x install-frigate-smb-arch.sh
|
||||
./install-frigate-smb-arch.sh
|
||||
```
|
||||
|
||||
The installer will prompt for:
|
||||
|
||||
* SMB Server IP
|
||||
* SMB Share Name
|
||||
* SMB Username
|
||||
* SMB Password
|
||||
* Local Mount Path
|
||||
|
||||
---
|
||||
|
||||
## Default Paths
|
||||
|
||||
### Frigate Configuration
|
||||
|
||||
```text
|
||||
/opt/frigate/config/config.yml
|
||||
```
|
||||
|
||||
### Docker Compose
|
||||
|
||||
```text
|
||||
/opt/frigate/docker-compose.yml
|
||||
```
|
||||
|
||||
### SMB Credentials
|
||||
|
||||
```text
|
||||
/etc/samba/frigate-smb.cred
|
||||
```
|
||||
|
||||
### Recordings
|
||||
|
||||
```text
|
||||
/mnt/frigate-recordings/frigate
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Adding Cameras
|
||||
|
||||
Edit:
|
||||
|
||||
```bash
|
||||
sudo nano /opt/frigate/config/config.yml
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
cameras:
|
||||
driveway:
|
||||
enabled: true
|
||||
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://USERNAME:PASSWORD@192.168.1.100:554/stream1
|
||||
roles:
|
||||
- detect
|
||||
- record
|
||||
|
||||
detect:
|
||||
width: 1920
|
||||
height: 1080
|
||||
fps: 5
|
||||
```
|
||||
|
||||
Restart Frigate:
|
||||
|
||||
```bash
|
||||
cd /opt/frigate
|
||||
sudo docker compose restart
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Viewing Logs
|
||||
|
||||
```bash
|
||||
sudo docker logs -f frigate
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Accessing Frigate
|
||||
|
||||
Open:
|
||||
|
||||
```text
|
||||
http://SERVER_IP:8971
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```text
|
||||
http://192.168.1.50:8971
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Retention Configuration
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
record:
|
||||
enabled: true
|
||||
|
||||
retain:
|
||||
days: 7
|
||||
mode: all
|
||||
```
|
||||
|
||||
Keep event recordings longer:
|
||||
|
||||
```yaml
|
||||
record:
|
||||
events:
|
||||
retain:
|
||||
default: 30
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Storage Limits
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
storage:
|
||||
max_usage_percent: 90
|
||||
```
|
||||
|
||||
Frigate will automatically delete the oldest recordings when the storage threshold is reached.
|
||||
|
||||
---
|
||||
|
||||
## Updating Frigate
|
||||
|
||||
```bash
|
||||
cd /opt/frigate
|
||||
|
||||
sudo docker compose pull
|
||||
sudo docker compose up -d
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### SMB Share Not Mounting
|
||||
|
||||
Check:
|
||||
|
||||
```bash
|
||||
mount | grep frigate
|
||||
```
|
||||
|
||||
Test connectivity:
|
||||
|
||||
```bash
|
||||
ping NAS_IP
|
||||
```
|
||||
|
||||
Manually mount:
|
||||
|
||||
```bash
|
||||
sudo mount -a
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Frigate Not Starting
|
||||
|
||||
View logs:
|
||||
|
||||
```bash
|
||||
sudo docker logs frigate
|
||||
```
|
||||
|
||||
Check container status:
|
||||
|
||||
```bash
|
||||
sudo docker ps
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Camera Not Connecting
|
||||
|
||||
Verify RTSP stream:
|
||||
|
||||
```bash
|
||||
ffplay rtsp://USERNAME:PASSWORD@CAMERA_IP/stream
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Home Assistant Integration
|
||||
|
||||
Frigate integrates directly with Home Assistant using:
|
||||
|
||||
* Frigate Integration
|
||||
* MQTT
|
||||
* Frigate Proxy Add-on
|
||||
|
||||
This allows:
|
||||
|
||||
* Person detection
|
||||
* Vehicle detection
|
||||
* Motion events
|
||||
* Notifications
|
||||
* Automations
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
MIT License
|
||||
|
||||
Use at your own risk.
|
||||
|
||||
---
|
||||
|
||||
## Author
|
||||
|
||||
Created for self-hosted Linux NVR deployments using Frigate, Docker, SMB storage, and Home Assistant.
|
||||
Loading…
Reference in New Issue