#!/usr/bin/env bash set -euo pipefail echo "=== Frigate + SMB installer for Arch Linux ===" read -rp "SMB server IP or hostname: " SMB_SERVER read -rp "SMB share name: " SMB_SHARE read -rp "SMB username: " SMB_USER read -rsp "SMB password: " SMB_PASS echo read -rp "Local mount path [/mnt/frigate-recordings]: " MOUNT_PATH MOUNT_PATH=${MOUNT_PATH:-/mnt/frigate-recordings} FRIGATE_DIR="/opt/frigate" CRED_FILE="/etc/samba/frigate-smb.cred" echo "Installing packages..." sudo pacman -Syu --needed --noconfirm docker docker-compose cifs-utils echo "Enabling Docker..." sudo systemctl enable --now docker echo "Creating directories..." sudo mkdir -p "$MOUNT_PATH" sudo mkdir -p "$FRIGATE_DIR/config" sudo mkdir -p /etc/samba echo "Creating SMB credentials file..." sudo tee "$CRED_FILE" >/dev/null </dev/null fi echo "Mounting SMB share..." sudo systemctl daemon-reload sudo mount "$MOUNT_PATH" || true echo "Testing SMB write access..." sudo mkdir -p "$MOUNT_PATH/frigate" sudo touch "$MOUNT_PATH/frigate/test-write.txt" sudo rm -f "$MOUNT_PATH/frigate/test-write.txt" echo "Creating Frigate docker-compose.yml..." sudo tee "$FRIGATE_DIR/docker-compose.yml" >/dev/null </dev/null <