Два Docker‑контейнера избавили меня от оплаты облаков: Syncthing для мгновенной P2P‑синхронизации и лёгкий «OpenCloud» для веб‑доступа, шаринга и онлайн‑редактирования — без абонплат и с полным контролем над данными.
TL;DR
- Публичное облако удобно, но стоит всё дороже и отнимает контроль над данными.
- Решение — радикальное упрощение: всего два контейнера.
- Syncthing: децентрализованная, шустрая P2P‑синхронизация без центрального сервера.
- «OpenCloud»: лёгкий self‑hosted веб‑интерфейс наподобие Google Drive/OneDrive с шарингом и онлайн‑документами.
- Итог: ноль подписок, полная приватность, скорость локальной сети и доступ из браузера с любого устройства.
- Альтернативы для роли «OpenCloud»: ownCloud/Seafile (производительность и офис), File Browser (сверхлёгкий), Nextcloud AIO (максимум функций).
Почему два контейнера вместо подписок
Обещание публичных облаков — «все файлы всегда с вами» — часто разбивается о две вещи: скрытую инфляцию стоимости (чем больше данных и устройств, тем выше чек) и потерю контроля (внешние сервера, egress‑трафик, локация хранения, политика провайдера). Ответ оказался не в увеличении железа или покупке массивов SSD, а в упрощении архитектуры. Два контейнера закрывают 90% сценариев: мгновенный обмен между своими устройствами и аккуратный веб‑доступ с шарингом и редактированием, когда это нужно.
Контейнер №1: Syncthing — бесшовная P2P‑синхронизация
Syncthing — это децентрализованная синхронизация файлов без центрального сервера. Типичный сценарий: делаю скриншот на телефоне, и через секунды он уже на ноутбуке или домашнем сервере. Не нужно ждать, пока файл уйдёт в облако и вернётся обратно; устройство‑к‑устройству — напрямую и быстро.
- Без центрального хранилища: файлы остаются на ваших устройствах; передача строится по локальной сети при возможности.
- Инкрементальные блоки: пересылаются только изменения внутри файла, экономя время, батарею и трафик.
- Тонкая политика папок: двусторонняя синхронизация для рабочих документов, «Send‑only» для фотопотока с телефона — и порядок гарантирован.
- Шифрование в транзите и устройство‑уровень авторизации: каждое подключение подтверждается, нет «открытых дверей».
- Гибкое управление: игнор‑паттерны, версионирование, ограничения по скорости, понятная веб‑панель.
Зачастую Syncthing вообще снимает потребность в «облаке»: ничего не грузится «куда‑то», ничего не ждёт бекэнда — просто ваши узлы обмениваются данными по локальной сети или через ретрансляцию, если вы вне дома. Для повседневных задач этого достаточно в подавляющем большинстве случаев.
Быстрый старт (пример docker‑compose для Syncthing)
version: "3.8"
services:
syncthing:
image: lscr.io/linuxserver/syncthing:latest
container_name: syncthing
network_mode: host
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
volumes:
- ./syncthing/config:/config
- ./data:/data
restart: unless-stopped
После запуска откройте веб‑панель на хосте, добавьте устройства друг к другу, определите папки и режимы («Send‑only», «Receive‑only», двусторонняя). Дальше всё работает без вашего участия.
Контейнер №2: OpenCloud — центральная точка доступа для совместной работы
Если Syncthing — идеален для мгновенной P2P‑синхронизации между собственными устройствами, то роль «OpenCloud» — быть единой точкой входа в файлы через браузер из любой точки мира. Это знакомый файловый менеджер со структурой папок, предпросмотром, шарингом по ссылке (с паролями и сроками), поиском и версионированием. Плюс интеграция с офисным редактированием документов, таблиц и презентаций без скачивания.
В качестве альтернативы для OpenCloud чаще всего выбирают одно из следующих решений:
- ownCloud — классический сервер с веб‑интерфейсом, WebDAV, ссылочным доступом и интеграцией с офисными редакторами. Известен предсказуемостью и зрелостью.
- Seafile — лёгкий и быстрый по ощущениям, особенно на больших наборах файлов; хорошо работает с библиотеками и дельта‑синхронизацией. Часто рассматривается как более шустрая альтернатива тяжёлым комбайнам.
- File Browser — сверхлёгкий одноконтейнерный файловый веб‑интерфейс для тех, кому нужен минимализм без лишних сервисов. Отличный «лайт»‑вариант.
Минимальный «OpenCloud‑лайт» на базе File Browser
version: "3.8"
services:
opencloud:
image: filebrowser/filebrowser:latest
container_name: opencloud
user: "1000:1000"
ports:
- "8080:80"
volumes:
- ./opencloud/root:/srv
- ./opencloud/filebrowser.db:/database/filebrowser.db
- ./opencloud/settings.json:/config/settings.json
restart: unless-stopped
Этого достаточно, чтобы получить аккуратный веб‑доступ к файлам, загрузки, скачивания и базовый шаринг. При необходимости можно перейти к ownCloud/Seafile и подключить офисную редактуру через отдельный контейнер офисного пакета.
Практические сценарии и настройки
- Рабочие документы: двусторонняя папка в Syncthing между ноутбуком и сервером — правки мгновенно появляются на обоих. Финальные версии и архивы — в «OpenCloud».
- Фото с телефона: папка «Send‑only» на мобильном клиенте Syncthing; сервер — «Receive‑only». Так бэкап идёт односторонне, без риска случайной правки на сервере.
- Шеринг крупных файлов: выгрузили в «OpenCloud», создали ссылку с паролем и сроком жизни — и отправили адресату.
- Коллаборация: подключили офисный движок к ownCloud/Seafile — документы редактируются прямо в браузере без внешних сервисов.
Архитектура: как сделать надёжно и удобно
- Сеть и доступ: поднимите обратный прокси с автоматическими сертификатами и включите HTTPS для «OpenCloud». Для доступа из‑вне без проброса портов удобно использовать современный VPN‑оверлей.
- Резервные копии: синхронизация — не равно бэкап. Поставьте автоматический бэкап конфигов и данных (например, дедупликация и версии), храните копии офф‑сайт.
- Файловая система и снапшоты: снапшоты на уровне тома (например, в файловых системах с поддержкой мгновенных снимков) помогают быстро откатывать ошибки и вымарывания.
- Шифрование на диске: включите шифрование томов на уровне хоста, чтобы защитить данные при потере/выводе из эксплуатации диска.
- Ресурсы: Syncthing нетребователен к RAM/CPU; «OpenCloud» выбирайте по задачам: от сверхлёгкого File Browser до более функциональных ownCloud/Seafile.
Подборка альтернатив и полезных дополнений
- ownCloud — классика для роли «OpenCloud»: стабильный веб‑интерфейс, ссылки, версии, расширения, офис через подключаемый сервер документов.
- Seafile — заметно быстрее на больших библиотеках, удобная модель «библиотек», экономный по ресурсам.
- File Browser — минималистичный и быстрый способ получить файловый веб‑доступ в один контейнер.
- Nextcloud AIO — монолит со всем и сразу (контакты, календари, задачи, офис), но ощутимо тяжелее.
- ONLYOFFICE Docs / Collabora Online — добавляют онлайн‑редактирование документов для ownCloud/Seafile/Nextcloud.
Сколько это занимает и чего стоит
На практике достаточно мини‑ПК или домашнего сервера с одним‑двумя дисками. Syncthing «ест» считанные сотни мегабайт RAM, лёгкий «OpenCloud» — сопоставимо. Комбинация даёт мгновенную локальную синхронизацию и полноценный удалённый доступ — без ежемесячных платежей, без лимитов по устройствам и без вывоза данных к стороннему провайдеру.
Итог
Два контейнера действительно могут заменить подписку на облако. Syncthing закрывает скорость и приватность P2P‑синхронизации, а «OpenCloud» даёт привычный веб‑опыт с шарингом и офисом. Под ваши задачи вы выбираете лёгкость или функциональность, а при росте требований добавляете нужные модули. Никакой магии — только радикальное упрощение и грамотная сборка.
Бонус: минимальный docker‑compose stack «в одну команду»
version: "3.8"
services:
syncthing:
image: lscr.io/linuxserver/syncthing:latest
container_name: syncthing
network_mode: host
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
volumes:
- ./syncthing/config:/config
- ./data:/data
restart: unless-stopped
opencloud:
image: filebrowser/filebrowser:latest
container_name: opencloud
user: "1000:1000"
ports:
- "8080:80"
volumes:
- ./opencloud/root:/srv
- ./opencloud/filebrowser.db:/database/filebrowser.db
- ./opencloud/settings.json:/config/settings.json
restart: unless-stopped
Запускайте, настраивайте правила синхронизации, включайте бэкапы — и счёт за облака останется в прошлом.