Files
obsidian-vault/family/how-to/openmediavault-rpi5.md
T

10 KiB
Raw Blame History

tags, created, updated, status, ip
tags created updated status ip
raspberry-pi
nas
openmediavault
how-to
2026-05-11 2026-05-12 containers-running 192.168.1.14

OpenMediaVault на Raspberry Pi 5

Статус: Контейнеры запущены, Time Machine pending (май 2026) Цель: NAS на RPi 5 — OS на SD-карте, хранилище на USB 3.0 HDD

Прогресс

Шаг Статус Заметки
1 — Флашим SD Bookworm 2025-05-13, RPi Imager
2 — Первый запуск + обновление apt upgrade выполнен
3 — Установка OMV OMV 7 установлен
4 — Первый вход в веб-интерфейс Пароль сменён
5 — Сеть DHCP static lease 192.168.1.14 (eth0 MAC 2c:cf:67:64:03:f3); WiFi отключён (modprobe blacklist brcmfmac/brcmutil)
6 — USB HDD 12TB Seagate ST12000NT001, EXT4, UUID 49e8f586-3839-4c5d-a1e1-58bfc3579ade, смонтирован через OMV в /srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade
7 — omv-extras + Docker omv-extras 7.0.6, Docker 29.4.3, kraken в группе docker
8 — Контейнеры Все через отдельные docker compose, конфиги на HDD (см. ниже)
9 — Time Machine share 🔲
10 — Перенос данных 🔲
11 — Hermes агент Кракен 🔲

Железо

  • Raspberry Pi 5 (4 или 8 GB RAM)
  • SD-карта ≥16 GB (Samsung/SanDisk A1 Class 10+)
  • USB 3.0 HDD для хранения данных
  • Проводной Ethernet (обязателен)

Шаг 1 — Флашим SD-карту

Образ: Raspberry Pi OS Lite 64-bit (Bookworm / Debian 12)

⚠️ Брать именно Bookworm, не Trixie (Debian 13) — OMV не поддерживается на Trixie!

Инструмент: Raspberry Pi Imager (https://www.raspberrypi.com/software/)

⚠️ Не Balena Etcher — только RPi Imager поддерживает OS Customisation! При выборе образа из каталога (не custom file) появляется кнопка "Edit Settings"

Настройки (Edit Settings → шестерёнка):

  • Hostname: kraken
  • Username: kraken (не admin — зарезервировано для OMV!)
  • Password: сохранён в 1Password (запись "Kraken RPi")
  • SSH: Enable → Allow public-key authentication → вставить ~/.ssh/id_rsa.pub

После флаша вставить карту в Pi и включить.


Шаг 2 — Первый запуск, обновление и настройка сети

SSH подключение (пока через WiFi/роутер):

ssh -i ~/.ssh/id_rsa kraken@kraken.local

Обновление системы:

sudo apt-get update && sudo apt-get upgrade -y

Static IP на eth0 (прямой кабель Mac ↔ Pi для установки):

sudo nmcli con add type ethernet ifname eth0 con-name eth0-static \
  ipv4.method manual \
  ipv4.addresses 192.168.100.2/24 \
  ipv4.gateway 192.168.100.1 \
  ipv4.never-default yes \
  connection.autoconnect yes
sudo nmcli con up eth0-static

⚠️ ipv4.never-default yes — обязательно! Иначе интернет пойдёт через Mac, а не WiFi, и установка зависнет.


Шаг 3 — Установка OMV

# Pre-install
wget -qO- https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/preinstall | sudo bash
sudo reboot

# После перезагрузки — основная установка (~30 мин)
wget -qO- https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

Pi перезагрузится автоматически по окончании.


Шаг 4 — Первый вход в веб-интерфейс

  • URL: http://192.168.100.2 (или http://kraken.local)
  • Логин: admin
  • Пароль: openmediavault
  • Сразу сменить пароль! (System → General Settings → Web Administrator Password)

Шаг 5 — Сеть: DHCP + static lease, отключить WiFi

Переключить кабель Pi → роутер. Настроить DHCP через netplan (OMV управляет /etc/netplan/20-openmediavault-eth0.yaml):

network:
  ethernets:
    eth0:
      match:
        macaddress: "2c:cf:67:64:03:f3"
      dhcp4: yes
      dhcp6: no
      link-local: []

В роутере (ASUS): добавить static lease в dhcp_staticlist через nvram:

ssh -i ~/.ssh/id_rsa admin@192.168.1.1 \
  "nvram set dhcp_staticlist='...<2C:CF:67:64:03:F3>192.168.1.14>kraken>' && nvram commit && service restart_dnsmasq"

Отключить WiFi навсегда (modprobe blacklist):

sudo sh -c 'echo blacklist brcmfmac > /etc/modprobe.d/disable-wifi.conf' < /dev/null
sudo sh -c 'echo blacklist brcmutil >> /etc/modprobe.d/disable-wifi.conf' < /dev/null
sudo update-initramfs -u -k all < /dev/null

⚠️ Все sudo команды через SSH требуют < /dev/null — иначе sudo ждёт stdin и зависает


Шаг 6 — USB HDD

  1. Подключить HDD к синему (USB 3.0) порту Pi
  2. Проверить скорость: sudo apt install hdparm && sudo hdparm -t --direct /dev/sda → должно быть ~200-250 MB/s
  3. Разметить: sudo parted -s /dev/sda mklabel gpt mkpart primary 0% 100%
  4. Форматировать (агент не может — только вручную или через скрипт):
    sudo bash /tmp/fmt.sh  # скрипт с mkfs.ext4 -L storage /dev/sda1
    
  5. OMV Web UI → Storage → File Systems → выбрать /dev/sda1 → Mount
  6. OMV монтирует в: /srv/dev-disk-by-uuid-<UUID>/

⚠️ Не монтировать вручную через fstab — OMV должен управлять монтированием сам


Шаг 7 — omv-extras + Docker

# omv-extras
wget -qO- https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | sudo bash < /dev/null

# Docker
curl -fsSL https://get.docker.com -o /tmp/get-docker.sh && sudo sh /tmp/get-docker.sh < /dev/null
sudo usermod -aG docker kraken < /dev/null

Шаг 8 — Docker контейнеры

Каждый сервис — отдельный docker-compose.yml в /home/kraken/<name>/. Все конфиги на HDD: /srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/docker/<name>/

Сервис Compose URL Данные
Portainer /home/kraken/portainer/ :9000 HDD/docker/portainer
Watchtower /home/kraken/watchtower/ stateless
Home Assistant /home/kraken/homeassistant/ :8123 HDD/docker/homeassistant
Jellyfin /home/kraken/media/ :8096 HDD/docker/jellyfin, media:ro
Transmission /home/kraken/media/ :9091 HDD/docker/transmission, HDD/media/downloads
Rclone /home/kraken/rclone/ cron воскр. 03:00 → mailru-crypt:kraken/docker

Управление:

cd /home/kraken/<name> && sudo docker compose up -d    # запустить
cd /home/kraken/<name> && sudo docker compose restart  # рестарт
cd /home/kraken/<name> && sudo docker compose pull && sudo docker compose up -d  # обновить

⚠️ Watchtower: нужна переменная DOCKER_API_VERSION=1.54 — иначе крашится (API mismatch) ⚠️ sudo через SSH требует < /dev/null для каждой команды с tee/pipe


Шаг 9 — Time Machine share (macOS бэкапы на NAS)

В OMV Web UI:

  1. Services → SMB/CIFS → Enable
  2. Services → SMB/CIFS → Shares → Add:
    • Shared folder: timemachine
    • Enable Time Machine support:
  3. На Mac: Finder → Go → Connect to Server → smb://kraken.local/timemachine
  4. System Preferences → Time Machine → Add Disk → выбрать kraken

Шаг 10 — Перенос данных

Фильмы с Mac на NAS

rsync -avh --progress /path/to/movies/ kraken@kraken.local:/srv/.../media/movies/

Time Machine

⚠️ Старый TM-бэкап перенести нельзя напрямую — TM привязывает бэкап к конкретному диску/хосту. Начать новый бэкап на NAS, старый HDD хранить как архив или отформатировать после нескольких успешных новых бэкапов.


Шаг 11 — Hermes агент Кракен

По образу агента Тайга (TrueNAS). Установить Hermes на Pi:

# TODO: уточнить команду установки по образу Тайги
  • Конфиг: ~/.hermes/config.yaml
  • Namespace: family
  • Подключить к Discord/Zulip
  • Настроить доступ к vault через obsidian-mcp

Уроки (что пошло не так при установке)

  • Balena Etcher не поддерживает OS Customisation — использовать только RPi Imager
  • userconf.txt deprecated на Bookworm — правильный способ через RPi Imager (он пишет custom.toml)
  • systemd.run= в cmdline.txt нужно указывать /usr/lib/raspberrypi-sys-mods/firstboot, а не свой скрипт
  • ipv4.never-default yes при настройке static IP на eth0 — обязательно, иначе интернет идёт через Mac и установка зависает
  • OMV install script при зависании — скорее всего нет интернета, проверить маршруты (ip route)

Полезные ссылки