🔄 Своя Dropbox-альтернатива: Syncthing

🧠 Зачем?
Облачные сервисы — удобно, но:
- не хочется платить Google/Dropbox за хранение своих файлов
- хочется моментально синхронизировать фото, документы и заметки между устройствами
- и делать это на своём сервере, без отправки данных «в облако»
👉 Решение — Syncthing:
децентрализованный, зашифрованный, open source-синк между любыми устройствами.
🚀 Что ты получишь?
- 📂 Автосинк папок между сервером, ноутбуком, телефоном (Android/iOS)
- 🔒 Сквозное шифрование и передача по локальной сети
- ☁️ Собственный "Dropbox", но без интернета и подписок
📦 Что уже готово
- ✅ Docker и Docker Compose установлены
- ✅ Traefik настроен (по этой инструкции)
- ✅ У тебя есть домен вида
sync.home.example.com
Создай папку для данных и конфигов:
mkdir -p /opt/docker/syncthing
⚙️ Docker Compose конфигурация
Добавляем в наш docker-compose.yml
:
syncthing:
<<: *defaults
image: syncthing/syncthing
container_name: syncthing
hostname: my-syncthing
environment:
- PUID=1000
- PGID=1000
volumes:
- /opt/docker/syncthing:/var/syncthing
ports:
- 22000:22000/tcp # TCP-передача
- 22000:22000/udp # QUIC-передача
- 21027:21027/udp # Обнаружение устройств в локалке
healthcheck:
test: curl -fkLsS -m 2 127.0.0.1:8384/rest/noauth/health | grep -o --color=never OK || exit 1
interval: 1m
timeout: 10s
retries: 3
labels:
- "traefik.enable=true"
- "traefik.http.routers.syncthing-opt.rule=Host(`sync.home.example.com`)"
- "traefik.http.routers.syncthing-opt.entrypoints=https"
- "traefik.http.routers.syncthing-opt.tls.certresolver=myresolver"
Запускаем:
docker compose up -d
Теперь интерфейс доступен по адресу:
🔗 https://sync.home.example.com
👩💻 Первичная настройка Syncthing
- Зайди в веб-интерфейс
- Установи имя устройства (например,
home-server
) - Добавь папку для синка (например,
/var/syncthing/shared
)
Папки внутри контейнера можно смонтировать в volumes
, если хочешь доступ снаружи
💻 Подключаем ноутбук (Linux, macOS, Windows)
- Скачай Syncthing: https://syncthing.net/downloads/
- Установи и запусти
- Зайди в интерфейс (обычно
http://localhost:8384
) - Добавь устройство → введи Device ID сервера
- На сервере подтверди соединение
- Настрой общую папку
Готово — теперь всё будет синхронизироваться автоматически.
📱 Подключаем Android
- Установи Syncthing Android
- Запусти, прими права на хранилище
- Подключи устройство:
- Зайди в «Устройства» → «Добавить»
- Отсканируй QR-код сервера (или введи ID)
- Добавь папки:
- Например,
DCIM/Camera
для автосинка фото - Или
Download
, чтобы забирать файлы с телефона на сервер
- Например,
🍏 Подключаем iOS
Для iOS есть Syncthing для iOS (Mobius) — он работает в фоне, но с ограничениями:
- Запуск синка требует открыть приложение
- Нельзя синкать системные папки напрямую (ограничения iOS)
Но ты можешь:
- Добавить «каталоги» внутри приложения (например, документы, заметки)
- Настроить обмен с сервером или ноутбуком
🔐 Безопасность та же: сквозное шифрование, без сторонних облаков.
🛡️ Безопасность
- Все соединения — шифруются
- Нет стороннего сервера: синк происходит напрямую
- Синхронизация работает по локальной сети, если оба устройства в одной Wi-Fi
🧠 Что можно синхронизировать?
- 📸 Фото и видео с телефона
- 📄 Документы, заметки, пароли
- 🔁 Папку
Downloads
с ноутбука и сервера - 🗂️ Бэкапы, проекты, конфиги
🎁 Бонус: автоматическая очистка и версионирование
Syncthing умеет:
- Хранить версии файлов
- Автоматически удалять старые файлы
- Переименовывать удалённые/изменённые файлы в
.stversions
Настраивается для каждой папки в её свойствах.
✅ Результат
Возможность | Есть ✅ |
---|---|
Мгновенный синк между всеми девайсами | ✅ |
Поддержка Android и iOS | ✅ |
Полная автономность и приватность | ✅ |
HTTPS-доступ через Traefik | ✅ |
Без подписок и сторонних серверов | ✅ |
📎 Полезные ссылки
- 📦 Syncthing: https://syncthing.net
- 📲 Android-клиент: Play Store
- 🍏 iOS-клиент: Mobius
- 🔧 Traefik для Docker: geeknest.ru/samokhostingh-chast-3-traefik