Initial upload
This commit is contained in:
96
recipes/services/frigate/install.sh
Normal file
96
recipes/services/frigate/install.sh
Normal file
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ensure_root
|
||||
detect_pkg_manager
|
||||
pkg_install curl
|
||||
|
||||
BASE="/srv/docker/services/frigate"
|
||||
$SUDO mkdir -p "$BASE/config"
|
||||
$SUDO mkdir -p "$BASE/media"
|
||||
cd "$BASE"
|
||||
|
||||
echo ""
|
||||
echo "Möchtest du Coral TPU verwenden?"
|
||||
echo " y = USB / PCIe TPU einbinden"
|
||||
echo " n = ohne TPU (CPU Only)"
|
||||
read -p "Auswahl (y/n): " TPU
|
||||
|
||||
TPU_CONFIG=""
|
||||
if [[ "$TPU" == "y" || "$TPU" == "Y" ]]; then
|
||||
TPU_CONFIG=" devices:
|
||||
- /dev/apex_0:/dev/apex_0
|
||||
- /dev/bus/usb:/dev/bus/usb"
|
||||
echo "Coral TPU-Unterstützung aktiviert."
|
||||
else
|
||||
echo "Installiere ohne TPU."
|
||||
fi
|
||||
|
||||
echo ""
|
||||
read -p "Soll direkt eine Kamera eingetragen werden? (y/n): " ADD_CAM
|
||||
|
||||
CAMERA_CONFIG=""
|
||||
if [[ "$ADD_CAM" == "y" || "$ADD_CAM" == "Y" ]]; then
|
||||
read -p "Name der Kamera (z.B. wohnzimmer): " CAM_NAME
|
||||
read -p "RTSP URL (z.B. rtsp://user:pass@192.168.x.x/stream): " CAM_URL
|
||||
|
||||
CAMERA_CONFIG="cameras:
|
||||
$CAM_NAME:
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: \"$CAM_URL\"
|
||||
input_args: preset-rtsp-restream"
|
||||
else
|
||||
CAMERA_CONFIG="cameras: {}"
|
||||
fi
|
||||
|
||||
$SUDO tee "$BASE/config/config.yml" >/dev/null <<EOF
|
||||
mqtt:
|
||||
enabled: false
|
||||
|
||||
${CAMERA_CONFIG}
|
||||
EOF
|
||||
|
||||
$SUDO tee "$BASE/docker-compose.yml" >/dev/null <<EOF
|
||||
services:
|
||||
frigate:
|
||||
image: ghcr.io/blakeblackshear/frigate:stable
|
||||
container_name: frigate
|
||||
privileged: true
|
||||
restart: unless-stopped
|
||||
shm_size: "64m"
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- ./media:/media/frigate
|
||||
- /dev/bus/usb:/dev/bus/usb
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
${TPU_CONFIG}
|
||||
ports:
|
||||
- "5000:5000"
|
||||
- "8554:8554"
|
||||
- "8555:8555/tcp"
|
||||
- "8555:8555/udp"
|
||||
EOF
|
||||
|
||||
$SUDO docker compose up -d
|
||||
|
||||
log "Frigate wurde installiert."
|
||||
log "Web UI: http://<server-ip>:5000"
|
||||
log "Konfiguration: $BASE/config/config.yml"
|
||||
|
||||
echo ""
|
||||
read -p "Soll NGINX Proxy für Frigate eingerichtet werden? (y/n): " PROXY
|
||||
|
||||
if [[ "$PROXY" == "y" || "$PROXY" == "Y" ]]; then
|
||||
PROXY_SCRIPT="/srv/docker/system/nginx-proxy-path/install.sh"
|
||||
|
||||
if [ ! -f "$PROXY_SCRIPT" ]; then
|
||||
log "Fehler: nginx-proxy-path nicht installiert."
|
||||
log "Bitte erst das Rezept 'nginx-proxy-path' installieren."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Starte Proxy-Konfiguration:"
|
||||
bash "$PROXY_SCRIPT"
|
||||
fi
|
||||
Reference in New Issue
Block a user