PR

Syncthingで自宅サーバーを構築|端末間のファイル自動同期と設定方法

Syncthingで自宅サーバーを構築|端末間のファイル自動同期と設定方法 pc-setup
記事内に広告が含まれています。

Syncthingを使えば、自宅に置いたPCを常時稼働させ、複数端末のファイルを自動同期できます。ただ、「普通のファイルサーバーと何が違うのか」「どこまで設定すれば自動同期できるのか」は分かりにくい部分です。

この記事では、自宅サーバーとして使うPCを用意する場合を例に、Syncthingの仕組みから導入、端末登録、同期設定、継続運用まで順番に説明します。

Syncthingで自宅サーバー型のファイル同期を行う仕組み

自宅サーバーを中心に複数端末でファイルを同期する仕組み

Syncthingは、クラウドストレージのように中央サーバーへファイルを預けて配布する仕組みではありません。同期に参加する機器を「device」として扱い、登録したdevice同士でファイルを同期します。

ここでいう「自宅サーバー型」とは、Syncthing専用の中央サーバーを構築するという意味ではありません。自宅に常時稼働させるPCを置き、そのPCも同期するdeviceの1台として利用します。

同期する端末と常時稼働する自宅サーバーの役割を確認する

Syncthingでは、各端末に割り当てられるDevice IDで同期相手を識別します。自宅サーバー側と同期したい端末側の両方でSyncthingを動かし、相手の端末を登録する仕組みです。

自宅サーバーとして使うPCも、特別な種類のサーバーとして登録するわけではありません。常時稼働する同期先として使うことで、普段使うPCとは別にファイルを保持する端末を自宅に置けます。

なお、自宅サーバーはSyncthingの必須条件ではなく、2台の端末間でも利用できます。自宅サーバー型では、常時稼働する端末を同期に加えると考えると仕組みを理解しやすくなります。

Syncthingを導入できる環境と同期前の準備を確認する

同期を始めるには、自宅サーバーと同期対象の端末の両方でSyncthingが動作する環境が必要です。Syncthing公式のダウンロードページでは、Windows、macOS、Linuxなど複数のOS向けに配布されています。

  • 自宅サーバーとして稼働させる端末
  • 同期したいPCなどの端末
  • 同期するファイルを保存できるストレージ
  • 端末同士が通信できるネットワーク環境

NASなどは製品によって利用できるパッケージや導入方法が異なります。Syncthing公式でもNASなどについてはベンダー側の情報確認を案内しているため、使用する機種ごとに対応状況を調べます。

Syncthingを自宅サーバーへ導入して端末間で同期する方法

自宅サーバーと端末へSyncthingを導入して同期フォルダーを設定する流れ

設定は「Syncthingの導入→端末同士の登録→同期フォルダーの設定→同期テスト」の順に進めます。自宅サーバーだけではなく、同期する各端末への導入が必要です。

自宅サーバーと同期する端末へSyncthingを導入する

自宅サーバーとして使うPCと、ファイルを同期したい端末へSyncthingを導入します。初回起動時には設定ファイルや暗号鍵が生成され、設定用のWeb GUIが利用できるようになります。

標準状態のWeb GUIはローカル端末の127.0.0.1:8384で利用します。別のPCから自宅サーバーのWeb GUIを操作するためにListen Addressを変更すると、ネットワーク経由で設定画面へアクセスできる状態になります。この場合、Syncthing公式ではユーザー名と強力なパスワード、HTTPSの設定を求めています。

端末同士を登録して同期フォルダーを設定する

各端末のDevice IDを調べ、同期相手をRemote Deviceとして登録します。登録は片側だけではなく、双方で行います。

  1. 自宅サーバー側と同期する端末側でDevice IDを確認する
  2. 双方で相手をRemote Deviceとして登録する
  3. 同期するフォルダーを指定する
  4. そのフォルダーを同期する端末へ共有する

通常の双方向同期に使えるフォルダータイプが「Send & Receive」です。自宅サーバー側と同期端末側の両方で行った変更を送受信します。

「Send Only」や「Receive Only」は同期方向の扱いが異なるため、双方向同期と同じ動作ではありません。同期させたい方向に合わせて選びます。

ファイルが自動同期されることを確認する

端末とフォルダーを設定したら、テスト用のファイルを同期フォルダーへ入れ、別の端末へ反映されるかを見ます。

  1. 同期対象のフォルダーへテスト用ファイルを追加する
  2. 相手の端末で同じファイルが同期されるか確認する
  3. Web GUIで同期状態を確認する

Web GUIの「Out of Sync」は、ほかの端末から同期する必要があるデータが残っている状態です。設定変更や再起動の直後は状態がすぐ反映されない場合もあるため、表示されている同期状態を見ながら切り分けます。

Syncthingを自宅サーバーで継続運用するための設定

Syncthingの自動起動と同期エラーや競合ファイルを確認する流れ

常時稼働させる自宅サーバーでは、PCを再起動してもSyncthingが自動で動き出す設定が必要です。同期に問題が起きたときは、Web GUIから状態を追えます。

Syncthingを自動起動させて常時同期できる状態にする

PCを再起動するたびにSyncthingを手動で立ち上げる運用では、起動を忘れている間は同期できません。自宅サーバーとして継続運用するなら、OSの起動に合わせてSyncthingも自動起動させます。

方法はOSによって異なります。Syncthing公式の自動起動のドキュメントにはWindows、macOS、Linuxそれぞれの自動起動方法があり、Linuxのsystemdではsystem serviceとuser serviceを選べます。ユーザーがログインしていなくても稼働するsystem serviceは、公式でもサーバー用途向けとして説明されています。

Windowsでは、ログオン時とシステム起動時で動作条件が異なります。BitLockerで保護された非システムパーティションなど、ログオン前に同期先へアクセスできない構成では、保存場所と起動タイミングを照らし合わせて設定します。

常時稼働による消費電力も見直したい場合は、自宅サーバーの消費電力を抑える方法もあわせて確認できます。

同期エラーや競合ファイルを確認して対処する

ファイルが同期されないからといって、最初から設定をやり直す必要はありません。Syncthing公式のデバッグ手順では、受信側のWeb GUIにある「Failed Items」やログから問題を調べます。

  1. Web GUIで同期状態を確認する
  2. Failed Itemsがあれば内容を確認する
  3. ログを確認して問題が発生している場所を切り分ける
  4. 確認できた原因に応じて対処する

原因はフォルダーの状態や権限、ファイル名、端末間の接続などさまざまです。表示されたエラーを手掛かりに切り分けます。

複数端末で同じファイルが変更された場合などは、競合ファイルが発生することもあります。OS間でファイル名の大文字・小文字の扱いが異なることによるcase conflictは、ファイル名をそろえて手動で解消します。同期エラーと競合は分けて対処してください。

まとめ

Syncthingで自宅サーバー型のファイル同期環境を作る場合、自宅サーバーは専用の中央サーバーではなく、常時稼働する同期端末の1台として構成します。

自宅サーバーと各端末へSyncthingを導入し、Device IDによる端末登録、同期フォルダーの設定、同期テストまで済ませれば、端末間でファイルを自動同期できます。継続運用では自動起動を設定し、問題が起きたらWeb GUIの状態やFailed Items、ログから原因を切り分けます。

タイトルとURLをコピーしました