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

306 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
tags:
- raspberry-pi
- nas
- openmediavault
- how-to
created: '2026-05-11'
updated: '2026-05-12'
status: network-ready
ip: 192.168.1.14
---
# OpenMediaVault на Raspberry Pi 5
**Статус:** Сеть настроена, готов к подключению HDD (май 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 — Подключить к роутеру, static IP | ✅ | `192.168.1.14` (MAC `2c:cf:67:64:03:f3`), static lease на роутере; WiFi отключён (modprobe blacklist) |
| 6 — USB HDD | ✅ | 12TB Seagate, EXT4, смонтирован через OMV в `/srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade` |
| 7 — omv-extras + Docker + Portainer | ✅ | Docker 29.4.3, Portainer на :9000, данные на HDD |
| 8 — Контейнеры | ✅ | Watchtower, Home Assistant (:8123), Jellyfin (:8096), Transmission (:9091), Rclone (cron воскр. 03:00 → mailru-crypt:kraken/docker) |
| 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!
- Последний Bookworm: **2025-05-13**
- Прямая ссылка: https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2025-05-13/2025-05-13-raspios-bookworm-arm64-lite.img.xz
**Инструмент:** 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/роутер):
```bash
ssh -i ~/.ssh/id_rsa kraken@kraken.local
```
Обновление системы:
```bash
sudo apt-get update && sudo apt-get upgrade -y
```
Static IP на eth0 (прямой кабель Mac ↔ Pi для установки):
```bash
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
```bash
# 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 — Подключить Pi к роутеру, настроить static IP, отключить WiFi
1. Переключить ethernet-кабель: Pi → роутер (не Mac)
2. В роутере: DHCP reservation для MAC `2c:cf:67:64:03:f3` → выбрать постоянный IP (например `192.168.1.X`)
3. Отключить WiFi на Pi:
```bash
sudo nmcli radio wifi off
```
4. Убедиться что Pi доступен по новому IP, проверить OMV web UI
---
## Шаг 6 — Подключить USB HDD, форматировать, смонтировать
1. Подключить HDD к USB 3.0 порту Pi (синий разъём)
2. OMV Web UI → Storage → Disks → убедиться что диск виден
3. Storage → File Systems → Create → выбрать диск → EXT4 → Save → Mount
4. Storage → Shared Folders → Add:
- `media` — для фильмов/музыки
- `timemachine` — для Time Machine бэкапов
- `docker` — для данных контейнеров
---
## Шаг 7 — omv-extras + Docker + Portainer
Установить omv-extras (даёт доступ к Docker плагину):
```bash
wget -qO- https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | sudo bash
```
В OMV Web UI:
- System → Plugins → найти `openmediavault-compose` → установить
- Или через SSH: установить Docker + Portainer вручную:
```bash
curl -fsSL https://get.docker.com | sudo bash
sudo usermod -aG docker kraken
# Portainer
sudo docker volume create portainer_data
sudo docker run -d \
--name portainer \
--restart always \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
```
Portainer UI: `http://kraken.local:9000`
---
## Шаг 8 — Docker контейнеры
Все контейнеры управляются через Portainer или `docker compose`.
Данные хранить на HDD в `/srv/<filesystem>/docker/`.
### Watchtower (авто-обновление контейнеров)
```yaml
watchtower:
image: containrrr/watchtower
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 0 4 * * * # каждую ночь в 4:00
```
### Home Assistant
```yaml
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
restart: always
network_mode: host
volumes:
- /srv/.../docker/homeassistant:/config
privileged: true
```
### Zigbee2MQTT
```yaml
zigbee2mqtt:
image: koenkk/zigbee2mqtt
restart: always
volumes:
- /srv/.../docker/zigbee2mqtt:/app/data
- /run/udev:/run/udev:ro
devices:
- /dev/ttyUSB0:/dev/ttyUSB0 # Zigbee адаптер
```
### Jellyfin
```yaml
jellyfin:
image: jellyfin/jellyfin
restart: always
ports:
- 8096:8096
volumes:
- /srv/.../docker/jellyfin:/config
- /srv/.../media:/media:ro
```
### Transmission
```yaml
transmission:
image: lscr.io/linuxserver/transmission
restart: always
ports:
- 9091:9091
- 51413:51413
volumes:
- /srv/.../docker/transmission:/config
- /srv/.../media/downloads:/downloads
```
### Rclone (бэкап на облако)
```yaml
rclone:
image: rclone/rclone
restart: unless-stopped
volumes:
- /srv/.../:/data:ro
- /home/kraken/.config/rclone:/config/rclone
command: sync /data remote:backup --progress
```
---
## Шаг 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
```bash
rsync -avh --progress /path/to/movies/ kraken@kraken.local:/srv/.../media/movies/
```
### Time Machine
> ⚠️ Старый TM-бэкап перенести нельзя напрямую — TM привязывает бэкап к конкретному диску/хосту.
> Начать новый бэкап на NAS, старый HDD хранить как архив или отформатировать после нескольких успешных новых бэкапов.
---
## Шаг 11 — Hermes агент Кракен
По образу агента Тайга (TrueNAS). Установить Hermes на Pi:
```bash
# 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`)
---
## Полезные ссылки
- Официальный вики OMV: https://wiki.omv-extras.org/
- Install script: https://github.com/OpenMediaVault-Plugin-Developers/installScript
- RPi Imager: https://www.raspberrypi.com/software/
- RPi Downloads: https://www.raspberrypi.com/software/operating-systems/