infra: full IaC state after hf-pdocker-01 rebuild (2026-03-08)
Replaces initial Nomad/Consul/Terraform skeleton with current Docker-based infrastructure across all three nodes (hf-pdocker-01, hf-pdocker-02, bart). Key changes: - CLAUDE.md: updated service distribution reflecting hf-pdocker-01 restored - docs/plans/2026-03-08-hf-pdocker-01-rebuild.md: new rebuild plan doc - compose/bart/: ai-agents, guacamole, matrix, media, openvas, smarthome, watchtower - compose/hf-pdocker-02/: traefik, monitoring, adguard, gitea, semaphore, wikijs, unifi, vaultwarden, actual-budget, mcpo, netclaw, trivy, watchtower, n8n - compose/hf-pdocker-01/: frigate, frigate-notify, farm-agent - stacks/: all Swarm stack definitions (monitoring, traefik, smarthome, matrix, guacamole, media, ai-agents, frigate, gitea, semaphore, wikijs, unifi, etc.) - .gitignore: exclude .env credential files and acme.json certs - .env.example: placeholder credential files for all services - .claude/agents/: gitea-backup and other infrastructure agent configs - scripts/: frigate media cleanup and NAS sync scripts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,488 @@
|
||||
# =============================================================================
|
||||
# Frigate NVR Configuration - Optimized (v4)
|
||||
# =============================================================================
|
||||
#
|
||||
# 17 cameras total:
|
||||
#
|
||||
# Reolink (h264Preview paths, H.264):
|
||||
# back_porch 192.168.44.63 kerberos:kerberos
|
||||
# house_south_corner 192.168.44.61 admin:(blank)
|
||||
# house_south_yard 192.168.44.62 admin:(blank)
|
||||
# gate_camera 192.168.86.175 admin:(blank)
|
||||
#
|
||||
# Profile cameras (/profile1 + /profile2, H.264):
|
||||
# house_north 192.168.44.51 admin:123456
|
||||
# house_south 192.168.44.53 admin:123456
|
||||
# house_west 192.168.44.52 admin:123456
|
||||
# shop_west 192.168.44.56 admin:123456
|
||||
# shop_driveway 192.168.44.57 admin:123456
|
||||
# shop_east 192.168.44.55 admin:123456
|
||||
#
|
||||
# Stream camera (/stream1 + /stream2, HEVC):
|
||||
# house_east 192.168.44.58 admin:admin
|
||||
#
|
||||
# Dahua-style (/cam/realmonitor, codec TBD):
|
||||
# garage_2 192.168.44.64 admin:7rip8a115
|
||||
#
|
||||
# Amcrest w/ authbasic=64 (/cam/realmonitor):
|
||||
# driveway_1 192.168.86.150 admin:7rip8a115
|
||||
# driveway_2 192.168.44.68 admin:7rip8a115
|
||||
# front_door_view 192.168.44.59 admin:7rip8a115
|
||||
#
|
||||
# Amcrest ASH43-W (HEVC, /cam/realmonitor + authbasic=64):
|
||||
# pool_room 192.168.86.142 admin:bigdog01
|
||||
# front_house 192.168.44.41 admin:bigdog01
|
||||
#
|
||||
# =============================================================================
|
||||
|
||||
version: 0.17-0
|
||||
|
||||
auth:
|
||||
enabled: true
|
||||
|
||||
mqtt:
|
||||
enabled: true
|
||||
host: 192.168.86.192
|
||||
port: 1883
|
||||
|
||||
ui:
|
||||
timezone: America/Chicago
|
||||
|
||||
database:
|
||||
path: /config/frigate.db
|
||||
|
||||
# =============================================================================
|
||||
# go2rtc - Single connection per camera, restreamed locally
|
||||
# =============================================================================
|
||||
go2rtc:
|
||||
webrtc:
|
||||
candidates:
|
||||
- 192.168.86.192:8555
|
||||
- stun:8555
|
||||
streams:
|
||||
|
||||
# --- Reolink cameras (h264Preview paths) ---------------------------------
|
||||
|
||||
back_porch:
|
||||
- rtsp://kerberos:kerberos@192.168.44.63:554/h264Preview_01_main
|
||||
back_porch_sub:
|
||||
- rtsp://kerberos:kerberos@192.168.44.63:554/h264Preview_01_sub
|
||||
|
||||
house_south_corner:
|
||||
- rtsp://admin:@192.168.44.61:554/h264Preview_01_main
|
||||
house_south_corner_sub:
|
||||
- rtsp://admin:@192.168.44.61:554/h264Preview_01_sub
|
||||
|
||||
house_south_yard:
|
||||
- rtsp://admin:@192.168.44.62:554/h264Preview_01_main
|
||||
house_south_yard_sub:
|
||||
- rtsp://admin:@192.168.44.62:554/h264Preview_01_sub
|
||||
|
||||
gate_camera:
|
||||
- rtsp://admin:@192.168.86.175:554/h264Preview_01_main
|
||||
gate_camera_sub:
|
||||
- rtsp://admin:@192.168.86.175:554/h264Preview_01_sub
|
||||
|
||||
# --- Profile cameras (/profile1 + /profile2) ----------------------------
|
||||
|
||||
house_north:
|
||||
- rtsp://admin:123456@192.168.44.51:554/profile1
|
||||
house_north_sub:
|
||||
- rtsp://admin:123456@192.168.44.51:554/profile2
|
||||
|
||||
house_south:
|
||||
- rtsp://admin:123456@192.168.44.53:554/profile1
|
||||
house_south_sub:
|
||||
- rtsp://admin:123456@192.168.44.53:554/profile2
|
||||
|
||||
house_west:
|
||||
- rtsp://admin:123456@192.168.44.52:554/
|
||||
house_west_sub:
|
||||
- rtsp://admin:123456@192.168.44.52:554/profile2
|
||||
|
||||
shop_west:
|
||||
- rtsp://admin:123456@192.168.44.56:554/profile1
|
||||
shop_west_sub:
|
||||
- rtsp://admin:123456@192.168.44.56:554/profile2
|
||||
|
||||
shop_driveway:
|
||||
- rtsp://admin:123456@192.168.44.57:554/profile1
|
||||
shop_driveway_sub:
|
||||
- rtsp://admin:123456@192.168.44.57:554/profile2
|
||||
|
||||
shop_east:
|
||||
- rtsp://admin:123456@192.168.44.55:554/profile1
|
||||
shop_east_sub:
|
||||
- rtsp://admin:123456@192.168.44.55:554/profile2
|
||||
|
||||
# --- Stream camera (HEVC) ------------------------------------------------
|
||||
|
||||
house_east:
|
||||
- rtsp://admin:admin@192.168.44.58:554/stream1#video=h264
|
||||
house_east_sub:
|
||||
- rtsp://admin:admin@192.168.44.58:554/stream2
|
||||
|
||||
# --- garage_2 - Dahua-style, NOT Amcrest ---------------------------------
|
||||
|
||||
garage_2:
|
||||
- rtsp://admin:7rip8a115@192.168.44.64:554/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif
|
||||
garage_2_sub:
|
||||
- rtsp://admin:7rip8a115@192.168.44.64:554/cam/realmonitor?channel=1&subtype=1&unicast=true&proto=Onvif
|
||||
|
||||
# --- Amcrest cameras w/ authbasic=64 -------------------------------------
|
||||
|
||||
driveway_1:
|
||||
- rtsp://admin:7rip8a115@192.168.86.150:554/cam/realmonitor?channel=1&subtype=0&authbasic=64
|
||||
driveway_1_sub:
|
||||
- rtsp://admin:7rip8a115@192.168.86.150:554/cam/realmonitor?channel=1&subtype=1&authbasic=64
|
||||
|
||||
driveway_2:
|
||||
- rtsp://admin:7rip8a115@192.168.44.68:554/cam/realmonitor?channel=1&subtype=0&authbasic=64
|
||||
driveway_2_sub:
|
||||
- rtsp://admin:7rip8a115@192.168.44.68:554/cam/realmonitor?channel=1&subtype=1&authbasic=64
|
||||
|
||||
front_door_view:
|
||||
- rtsp://admin:7rip8a115@192.168.44.59:554/cam/realmonitor?channel=1&subtype=0&authbasic=64
|
||||
front_door_view_sub:
|
||||
- rtsp://admin:7rip8a115@192.168.44.59:554/cam/realmonitor?channel=1&subtype=1&authbasic=64
|
||||
|
||||
# --- ASH43-W cameras (HEVC, authbasic=64) --------------------------------
|
||||
|
||||
pool_room:
|
||||
- rtsp://admin:bigdog01@192.168.86.142:554/cam/realmonitor?channel=1&subtype=0&authbasic=64#video=h264
|
||||
pool_room_sub:
|
||||
- rtsp://admin:bigdog01@192.168.86.142:554/cam/realmonitor?channel=1&subtype=1&authbasic=64
|
||||
|
||||
front_house:
|
||||
- rtsp://admin:bigdog01@192.168.44.41:554/cam/realmonitor?channel=1&subtype=0&authbasic=64#video=h264
|
||||
front_house_sub:
|
||||
- rtsp://admin:bigdog01@192.168.44.41:554/cam/realmonitor?channel=1&subtype=1&authbasic=64
|
||||
|
||||
# =============================================================================
|
||||
# Global ffmpeg - VAAPI hardware acceleration
|
||||
# =============================================================================
|
||||
ffmpeg:
|
||||
hwaccel_args: preset-vaapi
|
||||
|
||||
# =============================================================================
|
||||
model:
|
||||
path: /openvino-model/ssdlite_mobilenet_v2.xml
|
||||
width: 300
|
||||
height: 300
|
||||
input_tensor: nhwc
|
||||
input_pixel_format: bgr
|
||||
labelmap_path: /openvino-model/coco_91cl_bkgr.txt
|
||||
|
||||
detectors:
|
||||
ov:
|
||||
type: openvino
|
||||
device: GPU
|
||||
detect:
|
||||
enabled: true
|
||||
fps: 3
|
||||
width: 640
|
||||
height: 480
|
||||
|
||||
# =============================================================================
|
||||
# Recording
|
||||
# =============================================================================
|
||||
record:
|
||||
enabled: true
|
||||
continuous:
|
||||
days: 2
|
||||
alerts:
|
||||
retain:
|
||||
days: 7
|
||||
detections:
|
||||
retain:
|
||||
days: 7
|
||||
|
||||
# =============================================================================
|
||||
# Snapshots
|
||||
# =============================================================================
|
||||
snapshots:
|
||||
enabled: true
|
||||
clean_copy: true
|
||||
retain:
|
||||
default: 7
|
||||
mode: motion
|
||||
|
||||
# =============================================================================
|
||||
# Object tracking
|
||||
# =============================================================================
|
||||
objects:
|
||||
track:
|
||||
- person
|
||||
- car
|
||||
filters:
|
||||
person:
|
||||
min_area: 5000
|
||||
threshold: 0.7
|
||||
car:
|
||||
min_area: 10000
|
||||
threshold: 0.7
|
||||
|
||||
# =============================================================================
|
||||
# Birdseye - overview of all cameras
|
||||
# =============================================================================
|
||||
birdseye:
|
||||
enabled: true
|
||||
mode: objects
|
||||
|
||||
# =============================================================================
|
||||
# Camera definitions
|
||||
# =============================================================================
|
||||
|
||||
cameras:
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Reolink cameras (H.264, VAAPI OK)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
back_porch:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/back_porch_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/back_porch
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
house_south_corner:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/house_south_corner_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/house_south_corner
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
house_south_yard:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/house_south_yard_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/house_south_yard
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
gate_camera:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/gate_camera_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/gate_camera
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Profile cameras (H.264, VAAPI OK)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
house_north:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/house_north_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/house_north
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
house_south:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/house_south_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/house_south
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
house_west:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/house_west_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/house_west
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
shop_west:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/shop_west_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/shop_west
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
shop_driveway:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/shop_driveway_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/shop_driveway
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
shop_east:
|
||||
enabled: false
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/shop_east_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/shop_east
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# house_east - HEVC, VAAPI disabled (pw: admin)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
house_east:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
hwaccel_args: []
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/house_east_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/house_east
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# garage_2 - Dahua-style, codec TBD, VAAPI disabled as precaution
|
||||
# If H.264 confirmed, remove hwaccel_args override
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
garage_2:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
hwaccel_args: []
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/garage_2_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/garage_2
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Amcrest cameras w/ authbasic=64
|
||||
# Codec unknown - VAAPI disabled as precaution until confirmed H.264
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
driveway_1:
|
||||
enabled: false
|
||||
ffmpeg:
|
||||
hwaccel_args: []
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/driveway_1_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/driveway_1
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
driveway_2:
|
||||
enabled: false
|
||||
ffmpeg:
|
||||
hwaccel_args: []
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/driveway_2_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/driveway_2
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
front_door_view:
|
||||
enabled: false
|
||||
ffmpeg:
|
||||
hwaccel_args: []
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/front_door_view_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/front_door_view
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ASH43-W cameras (HEVC main, H.264 sub - go2rtc transcodes main to H.264)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
pool_room:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/pool_room_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/pool_room
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
|
||||
front_house:
|
||||
enabled: true
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:8554/front_house_sub
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- detect
|
||||
- path: rtsp://127.0.0.1:8554/front_house
|
||||
input_args: preset-rtsp-restream
|
||||
roles:
|
||||
- record
|
||||
Reference in New Issue
Block a user