Меню Рубрики

Syncthing настройка на windows

Syncthing: Офис без файлового сервера

Задача:

  1. Мини-офис (порядка 15 ± 5 пользователей)
  2. Нет администратора сети
  3. Нет общего файлового сервера
  4. Часть работников работает дома
  5. Основная масса компьютеров это Ubuntu, ну и другая ясно что.

И важно, чтобы у всех были следующие файловые ресурсы:

  1. DOCS входящие / исходящие / приказы и т.д.
  2. SALES промо / клиенты / продажи
  3. WORK проекты / работы
  4. FINS финансовые делишки
  5. HR кадровые
  6. TEMP помойка
  7. ZIP для схрона чего-то, но общего доступа

Если перед вами стоит такая задача, читайте дальше…

Из этого видно, что есть несколько групп пользователей. Кто-то имеет всё, кто-то эту часть, кто-то другую, и что-то пересекается.

Поиск решения

Решением этой задачи оказалось использование Synсthing (Thing (англ.) = вещица). Конечно, концепция общего хранения должна исходить от одного пользователя, да и доступ к информации у него полный. Конечно это не сильно продвинутый способ распределения прав доступа, но выкрутиться в небольшом коллективе с этим решением можно.

Почему Synсthing, а не BtSync или DropBox? DropBox был первым, когда нас было двое-трое, потом был BtSync, когда кто-то уходил пришлось перейти на Synсthing.

Для нас были очевидные положительные качества в пользу Synсthing.

качество syncthing btsync dropbox
открытый код да нет нет
цена бесплатно бесплатно (доп.опции платно) бесплатно 2Гб (больше — платно)
отключить пользователя можно нет можно
открытый код да нет нет
установка/настройка сложно/гибкие нормально/менее гибкие просто/ограниченно

Как сделать

Здесь, на хабре, есть статья как устанавливать и настраивать syncthing, но мы всё делали не совсем так, как там написано, но в общем похоже.

На Ubuntu ставим так

Чтобы запускался автоматом для одного пользователя %username% сделали файл:

В него написали (%username% замените на его имя):

На Windows так

Настройки

Ссылки по теме

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Ой, у вас баннер убежал!

Это «Песочница» — раздел, в который попадают дебютные посты пользователей, желающих стать полноправными участниками сообщества.

Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.

Чтобы исключить предвзятость при оценке, все публикации анонимны, псевдонимы показываются случайным образом.

Не надо пропускать:

  • рекламные и PR-публикации
  • вопросы и просьбы (для них есть Хабр Q&A);
  • вакансии (используйте Хабр Карьеру)
  • статьи, ранее опубликованные на других сайтах;
  • статьи без правильно расставленных знаков препинания, со смайликами, с обилием восклицательных знаков, неоправданным выделением слов и предложений и другим неуместным форматированием текста;
  • жалобы на компании и предоставляемые услуги;
  • низкокачественные переводы;
  • куски программного кода без пояснений;
  • односложные статьи;
  • статьи, слабо относящиеся к или не относящиеся к ней вовсе.

Источник

Создаем свое облачное хранилище с Syncthing

Если вам необходимо облако, вы можете его арендовать, например Dropbox. Но, проще и выгодней поднять свой собственный сервер под управлением Syncthing. Из достоинств своего облака можно выделить неограниченное дисковое пространство, относительная бесплатность. Так как вам не придется каждый месяц платить за облачное хранилище, а собрать сервер можно за копейки, а то и вовсе пустить под сервер свой старый компьютер. Syncthing шифрует передаваемые данные, а это значит, что все ваши данный останутся в безопасности. Так же вы сможете подключать к серверу под управлением Syncthing устройства на Android, Windows и Linux. Что в свою очередь весьма удобно. Особенно, если вам необходимо облачное хранилище например в компании, да и в домашних условиях такая роскошь отнюдь не лишена смысла. Из достоинств Syncthing можно выделить конфиденциальность, шифрование, открытый программный код, простота. Весь процесс настройки можно осуществить при помощи веб-интерфейса.

Устанавливаем облачное хранилище Syncthing

Устанавливать мы будем на сервер под управлением Debian / Ubuntu. Но, для начала нам понадобится инструмент под названием “curl”, далее необходимо скачать и добавить в нашу систему GPG ключ, делается это командами:

sudo apt install curl
curl -s https://syncthing.net/release-key.txt | sudo apt-key add —

Теперь подключаем репозиторий:

echo «deb http://apt.syncthing.net/ syncthing release» | sudo tee /etc/apt/sources.list.d/syncthing-release.list

После чего устанавливаем Syncthing:

sudo apt-get update
sudo apt-get install syncthing

Настройка облачного хранилища Syncthing

С настройкой все достаточно просто, запускаем Syncthing, это можно сделать как из терминала, так и используя иконки запуска, которые вы найдете в установленных приложениях. Иконка Start syncthing запустит syncthing, а Syncthing Web Ui запустит браузер с нужным нам ip адресом для настройки syncthing. Что бы запустить через терминал, достаточно набрать в терминале название “syncthing”

P.S. если же вы устанавливаете syncthing на сервер без графического окружения, запустить syncthing можно выполнив команды:

sudo systemctl enable syncthing @user .service
sudo systemctl start syncthing @user .service

Где “ user ” необходимо заменить на пользователя, который у вас создан в системе, либо, создать нового пользователя, который будет запускать syncthing.

Далее идем в браузер, откуда мы и будем производить настройки syncthing. В браузере вбиваем адрес:

P.S. если вы устанавливаете на сервер без графического интерфейса, то IP адрес можно изменить отредактировав конфигурационный файл

При первом запуске syncthing вас спросят, отсылать ли зашифрованные отчеты разработчикам или нет, тут вы уже сами принимаете решения. Теперь настроим язык интерфейса, для этого нажимаем на соответствующую кнопку и выбираем из выпадающего списка нужный нам язык:

Далее переходим к пункту “Действия” в правом верхнем углу, затем выбираем “Настройки”. В данном меню вы можете задать имя вашего сервера, у меня оно “Syncthing”, далее переходим к пункту настройки расположения папок. По умолчанию оно в домашней директории пользователя и обозначено тильдой “

”. При необходимости вы можете его изменить:

Переходим к вкладке “Интерфейс”, тут необходимо первым делом задать пароль для пользователя к интерфейсу “Syncthing”. После чего можно изменить ip адрес для веб интерфейса, а так же включить “https” и выбрать тему оформления, эти пункты уже на ваше усмотрения:

Переходим к пункту “Подключения”, в графе “Адрес протокола синхронизации” можно вписать ip адрес вашего сервера, можно вписать как локальный, так и внешний ip адрес, если у вас имеется статика. По умолчанию используется tcp://0.0.0.0 и порт 22000, можно все оставить по умолчанию. Тут же можно выставить ограничения по скорости, если имеется такая необходимость:

Создаем папки на сервере Syncthing

Про остальные пункты настроек думаю не имеет смыла писать. Сохраняем внесенные изменения в “Syncthing” нажав на соответственную кнопку и двигаемся дальше. Переходим к созданию папок, по умолчанию уже существует папка, при необходимости ее можно удалить:

Для удаления данной папки нажимаем кнопку редактировать, а затем в нижнем левом углу выбираем кнопку удалить, после чего необходимо подтвердить удаления данной папки:

Для создания папок нажимаем на кнопку “Добавить папку” на главной странице:

В открывшемся окне задаем имя для нашей папки, при необходимости можно изменить путь к папке, которую вы создаете, а так же ограничить доступ к этой папке для конкретных устройств перейдя к пункту “Предоставление доступа”. Когда все настроите, нажимаем на кнопку сохранить:

Синхронизация устройств

Для мобильных устройств клиент Syncthing вы можете скачать как с Google Play, так и с F-Droid, для Windows переходим на github и качаем от туда exe файл, если же не ходите устанавливать, можно скачать Portable версию. Для Linux же можно так же скачать AppImage версию GTK приложения. Для синхронизации устройств нажимаем на клиенте “Действия” далее “Показать ID”, копируем ID устройства:

Источник

Настройка синхронизации файлов между серверами с помощью SyncThing

SyncThing — программное обеспечение, которое позволяет выполнять синхронизацию файлов между серверами по P2P протоколу. Очень важно, что в своей работе SyncThing опирается на подсистему inotify, которая позволяет мгновенно реагировать на операции над файлами и каталогами, чтобы обеспечить минимальную задержку синхронизации, что особенно важно при наличии большого количества файлов в каталоге.

Использование пирингового протокола хорошо подходит для синхронизации между несколькими узлами, при этом автообнаружение новых узлов делает процесс добавления новых узлов тривиальным.

Задача

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

В более сложных конфигурациях в группе может быть несколько серверов, тогда настройка синхронизации «каждый с каждым» весьма утомительна — при добавлении к группе из N серверов еще одного, вам необходимо произвести 2xN настроек — на каждом из существующих серверов с новым и на новом сервере с существующими. Конечно, эта задача может быть автоматизирована с помощью средств управления инфраструктурой как кодом (Ansible, Chef, Puppet), но само решение, где необходимо настраивать взаимосвязь каждый с каждым выглядит весьма неудобно.

Для решения проблемы синхронизации файлов в группе серверов приходят на помощь утилиты, использующие пиринговые протоколы синхронизации. Один из популярных открытых инструментов называется SyncThing.

Далее мы рассмотрим, как с помощью SyncThing настроить синхронизацию файлов между несколькими серверами. Мы будем использовать операционную систему Linux. Руководство подойдет для любого дистрибутива, который использует systemd — Debian 9, Ubuntu 16.04, Ubuntu 18.04, CentOS 7 и т.п.

Как работает SyncThing

Важно понимать несколько ключевых принципов работы SyncThing, прежде чем двигаться дальше.

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

Задержка синхронизации. Для оптимизации производительности SyncThing задерживает синхронизацию (по умолчанию — 10 секунд), что может быть изменено, но установить задержку меньше 1 секунды невозможно.

Принцип работы. После старта серверы могут обнаруживать друг друга. Для добавления пира и обнаружения общих каталогов вы должны добавить его ID на другие серверы.

Установка SyncThing

Установка в Linux осуществляется скачиванием программного обеспечения:

Будем считать, что мы планируем синхронизировать сессии PHP, которые хранятся в каталоге /var/www/tmp. Сам каталог /var/www принадлежит пользователю www-data (Ubuntu, Debian) или nginx (CentOS).

Создадим файл для запуска SyncThing через systemd:

Для CentOS установите атрибут User= в значение nginx. Теперь включим созданную службу и запустим ее:

Теперь вы можете зайти с помощью браузера на ваш сервер http://server.com:8384/, где сможете выполнить дальнейшую настройку SyncThing.

Задание имени и пароля администратора

На этом шаге мы обеспечим безопасность SyncThing, задав имя и пароль для администратора.

Сохраните форму и обновите страницу в браузере. Интерфейс попросит вас ввести имя пользователя и пароль. После ввода вы попадете в интерфейс.

Удаление каталога, созданного по-умолчанию

Поскольку мы хотим синхронизировать файлы только определенного каталога, текущий автоматически созданный каталог нам не нужен и мы его удалим.

Выполните все вышеприведенные настройки на каждом из узлов.

Создание пиринговой группы

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

Определите ID каждого сервера. Для добавления серверов необходимо знать их ID, чтобы не добавить случайно посторонние серверы.

Добавьте все серверы в группу удаленных устройств, нажав на кнопку «Добавить удаленное устройство«.

Далее, для каждого удаленного устройства выполните настройку «автопринятия» каталогов. Это позволит узлам автоматически уведомлять другие узлы о доступных каталогах:

Выполните эти действия на каждом хосте, для каждого удаленного хоста в группе.

Задание синхронизируемого каталога

Зайдите на любой из серверов и задайте новый каталог для синхронизации, с помощью кнопки «Добавить папку«.

Два других сервера получат сообщения о желании первого сервера синхронизировать файлы с ними:

Теперь содержимое /var/www/tmp будет синхронизироваться между серверами.

Тестирование синхронизации

На первом сервере создайте файл server1

На двух других серверах убедитесь, что он синхронизировался. По умолчанию задержка синхронизации — 10 секунд, возможно придется подождать окончания синхронизации:

Повторите этот тест на двух других серверах, создавая файлы server2 и server3.

Тестирование Отказа

Проверим, что без первого сервера все продолжает работать. Остановим его:

Проверьте, что файлы синхронизируются между вторым и третьим сервером, как раньше.

Уменьшение задержки синхронизации

Если вы желаете уменьшить время, на которое задерживается синхронизация, откройте файл конфигурации SyncThing и исправьте параметр fsWatcherDelayS=»10″ до нужного вам значения, например, до 1 секунды. Выполните эту операцию на каждом узле и перезапустите сервис SyncThing:

Дальнейшие шаги

Настройка SyncThing завершена, теперь необходимо обеспечить большую защиту и лучшую работу приложения.

Перенос GUI за Nginx

Теперь вы можете поместить пользовательский интерфейс SyncThing за обратный прокси-сервер Nginx с сертификатом Let’s Encrypt:

  • руководство по настройке для Debian 9, Ubuntu 16.04, 18.04;
  • руководство по настройке для CentOS 7.

Для того, чтобы пользователи не могли соединяться непосредственно с GUI мимо Nginx, отредактируйте файл /etc/systemd/system/syncthing.service и замените 0.0.0.0:8384 на 127.0.0.1:8384. После этого выполните перезагрузку сервиса:

Настройка лимита Inotify

По умолчанию, пользовательский процесс может подписаться на ограниченное количество каталогов, изменения в которых он отслеживает. В случае больших файловых деревьев вам необходимо увеличить лимит inotify:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Syncmaster t220 драйвер windows 7 64
  • Syncmaster sa100 драйвер windows 7
  • Syncmaster 2043nw драйвер windows 7
  • Syncmaster 997mb драйвер windows 7
  • Syncmaster 214t драйвер windows 7