Как создать бесплатный домашний архив на Open Source: выбор железа, ОС и файловых систем

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

В эпоху цифрового переизобилия объем личной информации растет экспоненциально. Фотографии, видео, сканы документов, рабочие файлы, библиотеки книг и медиатеки требуют надежного и удобного хранилища. Создание бесплатного домашнего архива — это не просто экономия на облачных подписках, это вопрос приватности, скорости доступа и полного контроля над своими данными.

В этой статье мы подробно разберем, как развернуть собственный домашний сервер (NAS) или программное решение на имеющемся железе, используя исключительно бесплатное и открытое ПО (Open Source), с полной поддержкой русского языка.


Почему стоит отказаться от облаков в пользу локального архива?

  • Приватность и суверенитет данных: Ваши файлы не покидают стены дома. Никакие корпорации, спецслужбы или хакеры, взломавшие облачный провайдер, не получат доступ к вашим фото или сканам паспортов.
  • Отсутствие ежемесячных платежей: Оплачиваете только электричество и износ дисков. Нет подписок на iCloud, Google One, Яндекс.Диск или Dropbox.
  • Скорость локальной сети (LAN): Передача файлов по гигабитной или 2.5/10 Гбит сети происходит в десятки раз быстрее загрузки в интернет и скачивания обратно.
  • Неограниченный объем: Ограничен только количеством слотов для дисков в вашем сервере и вашим бюджетом на покупку HDD/SSD.
  • Работа без интернета: Архив доступен даже при отключенном провайдере;

Этап 1: Выбор «Железа» (Hardware) — от нуля до профи

Для бесплатного архива не обязательно покупать дорогой брендовый NAS (Synology, QNAP, Asustor). Можно собрать систему самостоятельно или перепрошить старое оборудование.

Вариант А: Перепрошивка готового NAS (Самый простой старт)

Если у вас уже есть NAS от Synology, QNAP, Asustor, TerraMaster или D-Link, вы можете установить на него альтернативные прошивки с открытым кодом, избавившись от проприетарных ограничений и «телеметрии».

  • OpenMediaVault (OMV): Устанавливается поверх Debian на почти любое x86/ARM железо. Идеален для новичков благодаря веб-интерфейсу.
  • CasaOS / Portainer: Не ОС, а оболочка над Docker для управления контейнерами через браузер. Ставится на любую Linux-систему (Ubuntu Server, Debian, Armbian).
  • Unraid (платный, но есть trial) / TrueNAS SCALE (бесплатный): Более продвинутые файловые системы (ZFS, Btrfs).

Вариант Б: Мини-ПК / Тонкий клиент / Старый ноутбук (Бюджетный DIY)

Отличные платформы: Intel NUC (Gen 6-10), Lenovo ThinkCentre/ThinkPad Tiny (M700-M920), HP Elitedesk/ProDesk Mini, Dell Wyse / OptiPlex Micro.

Плюсы: Низкое потребление (10-20 Вт), малый размер, поддержка QuickSync (транскодинг видео в Plex/Jellyfin), дешево на вторичке (Avito/Юла).

Минусы: Обычно 1-2 слота для дисков (M.2 + 2.5″), нужен внешний USB-корпус или док-станция для расширения.

Вариант В: Сборка на обычном ПК / Серверной платформе (Максимальная мощность)

Материнка с поддержкой ECC-памяти (Ryzen PRO, Intel Xeon, встроенные Intel N100/N305), корпус с 4-8 отсеками 3.5″, блок питания 80+ Gold.

Это выбор для серьезных архивов (20+ ТБ), виртуализации (Proxmox) и тяжелых задач.


Этап 2: Выбор Операционной Системы и Файловой Системы

Это сердце вашего архива. Для «русского» домашнего архива критически важна корректная работа с кодировками (UTF-8), регистрозависимостью имен файлов и расширенными атрибутами.

Топ-3 бесплатных решения для 2024-2025 гг.:

  1. TrueNAS SCALE (ранее CORE) — Лучший для ZFS и надежности.
    • База: Debian Linux.
    • ФС: ZFS (OpenZFS) — золотой стандарт: контроль контрольных сумм (checksums), самовосстановление (self-healing), снимки (snapshots), дедупликация, сжатие (zstd/lz4).
    • Интерфейс: Веб-админка на английском, но данные хранятся в UTF-8 без проблем. Поддержка SMB/NFS/WebDAV «из коробки».
    • Приложения: Встроенный Kubernetes (TrueCharts) для развертывания Jellyfin, Nextcloud, Immich, Paperless-ngx одним кликом.
  2. OpenMediaVault (OMV) — Лучший для гибкости и слабого железа.
    • База: Debian (устанавливается поверх минимальной установки).
    • ФС: ext4, XFS, Btrfs, ZFS (через плагин), MergerFS (объединение дисков без RAID).
    • Плагины: OMV-Extras (Portainer, Compose, Kernel Headers).
    • Идеален для: Raspberry Pi, старые ноутбуки, тонкие клиенты. Низкие системные требования.
  3. CasaOS / Ubuntu Server + Docker (Portainer) — Лучший для «Контейнерного подхода».
    • Не NAS-ОС, а удобная оболочка для Docker.
    • Вы сами управляете дисками (через lsblk, mdadm, zpool или btrfs в консоли), а CasaOS дает красивый лаунчер приложений.
    • Максимальная свобода: любые образы с Docker Hub / GitHub Container Registry.
💡 Важный совет по файловым системам для русского языка:
Всегда используйте UTF-8 (стандарт де-факто в Linux). Избегайте NTFS на системных дисках NAS (проблемы с правами доступа, регистрозависимостью, производительностью). Для внешних дисков-бэкапов используйте exFAT (совместимость с Windows/macOS/TV) или Btrfs/ZFS (если бэкап на другой Linux-машине).

Этап 3: Программный стек «Идеального русского архива» (Docker-контейнеры)

Современный подход, запуск каждого сервиса в изолированном контейнере. Управление через Portainer или Docker Compose (файл docker-compose.yml).

Медиатека: Jellyfin (Альтернатива Plex/Emby)

  • Полностью бесплатно, Open Source, без телеметрии.
  • Аппаратный транскодинг (Intel QuickSync, NVIDIA NVENC, AMD VAAPI, Raspberry Pi V4L2).
  • Отличная поддержка русскоязычных метаданных (TheMovieDB, TheTVDB, Kinopoisk через плагины).
  • Клиенты везде: Web, Android, iOS, Android TV, Samsung/LG TV, Kodi.

Фото-архив: Immich (Топ-1 сейчас) или PhotoPrism

  • Immich: Написан на TypeScript/Go. ИИ-распознавание лиц (InsightFace), объектов, сцен. Очень быстрый, современный UI, приложение для автозагрузки с телефона (Android/iOS). Требует 4-8 Гб RAM + GPU для ИИ.
  • PhotoPrism: На Go. Работает на слабее железе, отличная карта по геотегам, поддержка RAW. Интерфейс на русском есть.

Документооборот: Paperless-ngx (Must Have)

  • Сканирует папку «Входящие» (Consumption folder), делает OCR (Tesseract, поддерживает русский язык идеально), индексирует, тегирует, корреспондентов, типы документов.
  • Веб-интерфейс на русском. Полнотекстовый поиск по содержимому сканов паспортов, счетов, договоров.
  • Интеграция с Telegram-ботами для отправки фото чеков/документов прямо в архив.

Файловый синхронизатор: Nextcloud или Syncthing

  • Nextcloud: Полноценное «личное облако»: файлы, календарь (CalDAV), контакты (CardDAV), офис (Collabora/OnlyOffice), Talk, Deck (Kanban). Тяжелый, нужен 2+ Гб RAM, БД (PostgreSQL/MariaDB), Redis.
  • Syncthing: P2P-синхронизация папок между устройствами без центрального сервера. Очень легкий, настраивается за минуты, идеален для бэкапа фото с телефона на NAS или синхронизации папки «Работа» между ноутбуком и ПК.

Загрузчик/Менеджер медиа: *Arr Stack (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, qBittorrent/Transmission)

  • Автоматизация скачивания сериалов, фильмов, музыки, книг, аудиокниг.
  • Prowlarr — централизованный менеджер индексаторов (Jackett устарел).
  • Работает с русскими трекерами (RuTracker, NNM-Club, Rutor и др.) при наличии API-ключей.

Резервное копирование НАС: BorgBackup (Vorta GUI) или Restic / Rclone

  • BorgBackup: Дедупликация, сжатие, шифрование (AES-256). Лучший для бэкапа на другой локальный диск/NAS.
  • Rclone: «Швейцарский нож» для синхронизации с облаками (S3, Yandex Disk, Google Drive, Mega, Dropbox) для offsite-бэкапа (3-2-1 правило). Поддерживает шифрование crypt.

Этап 4: Архитектура хранения и Стратегия бэкапа (Правило 3-2-1)

Никогда не храните данные в единственном экземпляре на RAID-массиве. RAID (или ZFS RAID-Z) защищает от выхода из строя диска, но не от ошибок контроллера, вирусов-шифровальщиков, пожара, кражи или ошибочного rm -rf.

Структура папок (Рекомендуемая):

/mnt/pool/ # Точка монтирования пула (ZFS/Btrfs/ext4)
├── data/ # Основные пользовательские данные (бэкапятся)
│ ├── media/ # Медиатека (Jellyfin)
│ │ ├── movies/
│ │ ├── series/
│ │ └── music/
│ ├── photos/ # Оригиналы фото (Immich/PhotoPrism)
│ ├── documents/ # Paperless-ngx (consume + data)
│ ├── books/ # Calibre-Web / Readarr
│ └── archives/ # Ручные архивы, бэкапы телефонов, проекты
├── apps/ # Данные контейнеров (configs, DBs) — бэкапятся отдельно
│ ├── jellyfin/
│ ├── immich/
│ ├── paperless/
│ └── nextcloud/
├── downloads/ # Временная папка для *Arr / qBittorrent (НЕ бэкапится)
└── backups/ # Локальные бэкапы конфигов/БД (Borg/Restic репозитории)

Реализация правила 3-2-1:

  1. 3 копии данных: Оринал (NAS) + Локальный бэкап (второй диск/второй NAS/USB-диск) + Облачный бэкап (Offsite).
  2. 2 разных типа носителей: HDD (NAS) + HDD/SSD (внешний диск) + Облако (S3/Yandex/Mega).
  3. 1 копия вне дома (Offsite): Критично. Используйте Rclone + Crypt на Yandex Disk (бесплатно до 10-20 Гб, можно расширить), Mega (20 Гб), Cloudflare R2 / Backblaze B2 / Wasabi (платно, но дешево ~$6/Тб/мес) или второй NAS у родителей/друзей (через Tailscale/WireGuard).

Этап 5: Безопасность и Удаленный доступ (Без «Проброса портов»)

Никогда не открывайте порты 80/443/8096/32400 и т.д. напрямую в интернет! Это приглашение для ботнетов и взлома.

Современный стек безопасного доступа:

  1. Tailscale (или Headscale — self-hosted): Mesh-VPN на базе WireGuard.
    • Устанавливается на NAS (контейнер/бинарник), телефон, ноутбук, ПК родителей.
    • Все устройства видят друг друга по статичным IP (100.x.y.z) и DNS-именам (nas.tailnet.ts.net).
    • Работает за любыми NAT/CGNAT, без белого IP.
    • Бесплатно до 100 устройств (Personal plan).
  2. Reverse Proxy (Nginx Proxy Manager / Traefik / Caddy) + Authelia / Authentik:
    • Один вход (порт 443) в Tailscale -> Reverse Proxy -> Сервисы.
    • Автоматические SSL-сертификаты (Let’s Encrypt через DNS-01 challenge или самоподписанные для локали).
    • Authelia/Authentik — добавляет 2FA (TOTP, WebAuthn/FIDO2) и Single Sign-On (SSO) ко ВСЕМ сервисам, даже если они не поддерживают 2FA нативно (Jellyfin, qBittorrent, Portainer).
  3. CrowdSec: Аналог Fail2Ban нового поколения. Анализирует логи Nginx/SSH/Authelia, банит злоумышленников, использует коллективную базу угроз (Community Blocklists). Запускается в контейнере рядом с NPM.

Этап 6: Локализация и комфорт для русскоязычного пользователя

Метаданные медиа (Jellyfin)

  • В настройках библиотек выберите агенты: TheMovieDB (язык: Russian), TheTVDB (Russian).
  • Плагин Kinopoisk (неофициальный, ставится через репозиторий плагинов Jellyfin), дает рейтинги Кинопоиска, описания на русском, актеров русского кинопроката.
  • Настройте Intros (пропуск заставок) и Subs (OpenSubs, Subsource, нужен API ключ).

OCR в Paperless-ngx

В docker-compose.yml для контейнера paperless-ngx убедитесь, что переменная окружения:

PAPERLESS_OCR_LANGUAGES=rus+eng

Тогда Tesseract будет идеально распознавать смешанный русский/английский текст.

Клавиатура и Locale в консоли сервера

Выполните на хосте (Debian/Ubuntu/TrueNAS Shell):

sudo dpkg-reconfigure locales

sudo dpkg-reconfigure keyboard-configuration

Имена файлов в Samba/NFS

В smb.conf (или через веб-интерфейс OMV/TrueNAS) для шары установите:

vfs objects = catia fruit streams_xattr
fruit:encoding = native


Пример docker-compose.yml для быстрого старта (Стек «Архивариус»)

Сохраните как docker-compose.yml, создайте папки ./config, ./data рядом, отредактируйте PUID/PGID (узнайте командой id), пароли и запустите docker compose up -d.

version: "3.8"

services:
 # --- РЕВЕРС-ПРОКСИ И БЕЗОПАСНОСТЬ ---
 nginx-proxy-manager:
 image: 'jc21/nginx-proxy-manager:latest'
 restart: unless-stopped
 ports:
 — '80:80' # Только внутри Tailscale/LAN!
 ⎼ '443:443'
 — '81:81' # Админка NPM
 volumes:
 ⎼ ./data/npm/data:/data
 ⎼ ./data/npm/letsencrypt:/etc/letsencrypt
 environment:
 TZ: "Europe/Moscow"

 authelia:
 image: authelia/authelia:latest
 restart: unless-stopped
 volumes:
 — ./config/authelia:/config
 environment:
 TZ: "Europe/Moscow"
 depends_on:
 ⎼ redis
, postgres # Нужен отдельный контейнер postgres или mariadb

 crowdsec:
 image: crowdsecurity/crowdsec:latest
 restart: unless-stopped
 volumes:
, ./config/crowdsec:/etc/crowdsec
 — ./data/crowdsec:/var/lib/crowdsec/data
 ⎼ /var/log/nginx:/var/log/nginx:ro # Логи NPM
 environment:
 GID: "1000"
 UID: "1000"

 # --- МЕДИА И ФОТО ---
 jellyfin:
 image: lscr.io/linuxserver/jellyfin:latest
 restart: unless-stopped
 network_mode: host # Лучше для DLNA/QuickSync
 volumes:
 ⎼ ./config/jellyfin:/config
 — /mnt/pool/data/media:/media # Ваш путь к медиа
 environment:
 ⎼ PUID=1000
 ⎼ PGID=1000
 ⎼ TZ=Europe/Moscow
 ⎼ JELLYFIN_PublishedServerUrl=https://jellyfin.yourdomain.ts.net # Через NPM
 devices:
 — /dev/dri:/dev/dri # Intel QuickSync (i915)
 # — /dev/nvidia.com/gpu=all # NVIDIA (нужен nvidia-container-toolkit)

 immich:
 image: ghcr.io/immich-app/immich-server:release
 restart: unless-stopped
 volumes:
 — ./config/immich:/config
 — /mnt/pool/data/photos:/usr/src/app/upload
 environment:
 — DB_HOSTNAME=postgres-immich
 ⎼ DB_USERNAME=immich
 ⎼ DB_PASSWORD=supersecretpassword
 — DB_DATABASE_NAME=immich
, TZ=Europe/Moscow
 depends_on:
 ⎼ postgres-immich
 — redis
 deploy:
 resources:
 reservations:
 devices:
 ⎼ driver: nvidia
 count: 1
 capabilities: [gpu] # Для ML (распознавание лиц)

 postgres-immich:
 image: postgres:15-alpine
 restart: unless-stopped
 volumes:
 — ./data/postgres-immich:/var/lib/postgresql/data
 environment:
 POSTGRES_USER: immich
 POSTGRES_PASSWORD: supersecretpassword
 POSTGRES_DB: immich

 redis:
 image: redis:7-alpine
 restart: unless-stopped
 volumes:
 — ./data/redis:/data
 # --- ДОКУМЕНТЫ ---
 paperless-ngx:
 image: ghcr.io/paperless-ngx/paperless-ngx:latest
 restart: unless-stopped
 ports:
 ⎼ "8000:8000" # Внутри LAN/Tailscale
 volumes:
 — ./config/paperless:/usr/src/paperless/data
 ⎼ ./data/paperless/media:/usr/src/paperless/media
 ⎼ ./data/paperless/consume:/usr/src/paperless/consume
 environment:
 PAPERLESS_OCR_LANGUAGES: "rus+eng"
 PAPERLESS_TIME_ZONE: "Europe/Moscow"
 PAPERLESS_REDIS: "redis://redis:6379"
 PAPERLESS_DBHOST: "postgres-paperless"
 USERMAP_UID: 1000
 USERMAP_GID: 1000

 postgres-paperless:
 image: postgres:15-alpine
 restart: unless-stopped
 volumes:
 — ./data/postgres-paperless:/var/lib/postgresql/data
 environment:
 POSTGRES_USER: paperless
 POSTGRES_PASSWORD: anothersecret
 POSTGRES_DB: paperless

 # --- ФАЙЛЫ / СИНХРОНИЗАЦИЯ ---
 syncthing:
 image: lscr.io/linuxserver/syncthing:latest
 restart: unless-stopped
 ports:
 — "8384:8384" # Web UI
 — "22000:22000/tcp"
, "22000:22000/udp"
 volumes:
 — ./config/syncthing:/config
 ⎼ /mnt/pool/data:/data # Синхронизируем весь пул данных
 environment:
 ⎼ PUID=1000
 ⎼ PGID=1000
 — TZ=Europe/Moscow

 # --- БЭКАП НАС (КОНФИГОВ) ---
 borgmatic:
 image: ghcr.io/borgmatic-collective/borgmatic:latest
 restart: "no" # Запускаем по расписанию (cron) или вручную
 volumes:
 — ./config/borgmatic:/etc/borgmatic.d
 — ./config:/source/config:ro
 ⎼ /mnt/pool/backups:/repository
, /etc/localtime:/etc/localtime:ro
 environment:
 BORG_PASSPHRASE: "very_long_random_passphrase_here"
 TZ: "Europe/Moscow"

Чек-лист запуска «Бесплатного домашнего архива»

  1. [ ] Железо: Собран/куплен, диски установлены, проходит тест badblocks -wsv (для новых HDD) или smartctl -t long.
  2. [ ] ОС: Установлена TrueNAS SCALE / Ubuntu Server / Debian + OMV.
  3. [ ] Пул дисков: Создан (ZFS RAID-Z1/Z2, Btrfs RAID1/5/6, mdadm RAID5/6, MergerFS+SnapRAID). Включено сжатие zstd (ZFS/Btrfs).
  4. [ ] Сеть: Статический IP в LAN. Настроен Tailscale на сервере и клиентах.
  5. [ ] Docker/Portainer: Установлен и работает.
  6. [ ] Reverse Proxy (NPM) + Authelia: Развернуты, выданы сертификаты (Let’s Encrypt через DNS или Self-Signed для .local/.ts.net).
  7. [ ] Сервисы: Развернут стек (Jellyfin, Immich, Paperless, Syncthing, *Arr при необходимости).
  8. [ ] Локализация: Языки Ru/En в метаданных, OCR, клавиатура, Samba vfs objects.
  9. [ ] Бэкап 1 (Локальный): Borgmatic/Restic бэкапит /config (конфиги контейнеров, БД) и критичные данные на отдельный диск/пул каждую ночь.
  10. [ ] Бэкап 2 (Offsite): Rclone Crypt синхронизирует репозиторий Borg / важные фото/документы в облако (Yandex/Mega/B2) раз в неделю/день.
  11. [ ] Мониторинг: Uptime Kuma (проверка сервисов) + Zabbix/Prometheus+Grafana (здоровье дисков SMART, температура, RAM, CPU).
  12. [ ] Тест аварийного восстановления (Disaster Recovery): Самый важный пункт. Разверните чистую ВМ, восстановите конфиги из бэкапа, поднимите стек. Убедитесь, что это работает до того, как сломается основной сервер.

Создание бесплатного домашнего архива на русском языке сегодня — это доступная задача для любого энтузиаста с базовыми навыками работы с Linux и сетями. Ключевые столпы успеха:

  • Open Source стек (TrueNAS/OMV + Docker + Portainer) — никаких вендор-локинов.
  • ZFS/Btrfs + Snapshots — мгновенная защита от «руки дрогнула».
  • Правило 3-2-1 с шифрованием (Rclone Crypt / Borg) — гарантия выживания данных при любых катаклизмах.
  • Tailscale + Authelia — удобный и безопасный доступ из любой точки мира без белого IP и открытых портов.
  • Автоматизация (*Arr, Paperless, Immich ML) — архив живет и пополняется сам;

Начните с малого: старый ноутбук + внешний диск + Ubuntu Server + Docker Compose (файл выше). По мере роста данных и навыков мигрируйте на мощное железо с ZFS и ECC RAM. Ваши данные заслуживают лучшего дома — вашего собственного.


Статья подготовлена для рубрики «Самое главное помнить, что…». Главное помнить: Надежный архив, это не про железо и не про софт, это про регулярно проверяемые бэкапы. Неленый админ — это админ, у которого есть свежий тест восстановления вчерашнего бэкапа.