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

289 lines
9.2 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: omv-installed
---
# OpenMediaVault на Raspberry Pi 5
**Статус:** OMV установлен (май 2026)
**Цель:** NAS на RPi 5 — OS на SD-карте, хранилище на USB 3.0 HDD
---
## Железо
- 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/