インストールガイド · 2 min read · Dec 19, 2025

Ubuntu 20.04にSyncthingをインストールする方法

Syncthingは、ネットワーク上の2台以上のコンピュータ間でファイルを同期するために使用されるオープンソースツールです。ピアツーピアアーキテクチャを使用し、デバイス間で直接データを交換します。複数のデバイス間で送信されるすべてのデータはTLSで暗号化されています。Syncthingマシンの1つでデータを作成、変更、または削除すると、それは自動的に他のサーバーに複製されます。Linux、Windows、Mac OS Xなど、すべての主要なオペレーティングシステムにインストールできます。

このガイドでは、Ubuntu 20.04にSyncthingサーバーをインストールして設定する方法を示します。

前提条件

  • Ubuntu 20.04を実行している2台のサーバー。
  • サーバーIPにポイントされた有効なドメイン名。
  • 両方のサーバーに設定されたルートパスワード。

始めに

まず、次のコマンドを実行してシステムパッケージを更新されたバージョンに更新します:

apt-get update -y

すべてのパッケージが更新されたら、次のステップに進むことができます。

両方のサーバーにSyncthingサーバーをインストールする

デフォルトでは、SyncthingパッケージはUbuntu 20.04のデフォルトリポジトリには含まれていません。したがって、APTにSyncthingリポジトリを追加する必要があります。

まず、次のコマンドを使用して両方のサーバーに必要な依存関係をすべてインストールします:

apt-get install gnupg2 curl apt-transport-https -y

次に、次のコマンドを使用してリリースキーをダウンロードして追加します:

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

次に、次のコマンドを使用してAPTにSyncthingリポジトリを追加します:

echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list

次に、リポジトリを更新し、次のコマンドを使用してSyncthingサーバーをインストールします:

apt-get update -y  
apt-get install syncthing -y

インストールが完了したら、次のコマンドを使用してSyncthingのバージョンを確認します:

syncthing --version

次の出力が得られるはずです:

syncthing v1.18.0 "Fermium Flea" (go1.16.5 linux-amd64) [email protected] 2021-06-21 20:53:50 UTC [noupgrade]

この時点で、Syncthingは両方のサーバーにインストールされています。次のステップに進むことができます。

両方のサーバーにSystemdユニットファイルを作成する

次に、Syncthingサービスを管理するためのsystemdユニットファイルを作成する必要があります。次のコマンドを使用して両方のサーバーで作成できます:

nano /etc/systemd/system/[email protected]

次の行を追加します:

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target

[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target

作業が完了したら、ファイルを保存して閉じます。次に、設定を適用するためにsystemdデーモンをリロードします:

systemctl daemon-reload

次に、次のコマンドを使用してSyncthingサービスを開始します:

systemctl start syncthing@root

Syncthingサービスのステータスを確認するには、次のコマンドを実行します:

systemctl status syncthing@root

次の出力が表示されるはずです:

? [email protected] - Syncthing - Open Source Continuous File Synchronization for root
     Loaded: loaded (/etc/systemd/system/[email protected]; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-09 04:40:12 UTC; 5s ago
       Docs: man:syncthing(1)
   Main PID: 2878 (syncthing)
      Tasks: 14 (limit: 2353)
     Memory: 44.2M
     CGroup: /system.slice/system-syncthing.slice/[email protected]
             ??2878 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
             ??2889 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0

Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: QUIC listener ([::]:22000) starting
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file or d>
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Creating new HTTPS certificate
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: GUI and API listening on [::]:8384
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: My name is "node1"
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] WARNING: Syncthing should not run as a privileged or system user. Please consider using a norma>
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: quic://0.0.0.0:22000 detected NAT type: Not behind a NAT
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: quic://0.0.0.0:22000 resolved external address quic://45.58.35.6:22000 (via stun.syncthin>

この時点で、Syncthingサービスが開始され、ポート8384でリッスンしています。次のコマンドを使用して確認できます:

ss -antpl | grep 8384

次の出力が表示されるはずです:

LISTEN    0         4096                     *:8384                   *:*        users:(("syncthing",pid=2889,fd=12))    

Syncthingウェブインターフェースにアクセスする

次に、ウェブブラウザを開き、URL http://first-server-ip:8384http://first-server-ip:8384 を使用してSyncthingウェブインターフェースにアクセスします。

次の画面が表示されるはずです:

Syncthing管理インターフェース

設定をクリックして、以下のように管理ユーザーとパスワードを定義します:

パスワードを設定

ユーザー名、パスワードを入力し、保存ボタンをクリックして変更を適用します。Syncthingログインページにリダイレクトされます:

サインイン

管理ユーザー名、パスワードを入力し、サインインボタンをクリックします。次の画面が表示されるはずです:

フォルダ

次に、各サーバーのデバイスIDをもう一方のサーバーに追加して、両方のサーバー間でファイルを同期する必要があります。そのためには、両方のサーバーでアクション > IDを表示ボタンをクリックします。次の画面が表示されるはずです:

デバイス識別

ノード2を識別

最初のサーバーで、リモートデバイスを追加をクリックします。次の画面が表示されるはずです:

デバイスを追加

2番目のサーバーのデバイスIDを入力し、保存ボタンをクリックします。

2番目のサーバーで、リモートデバイスを追加をクリックします。次の画面が表示されるはずです:

デバイスID

最初のサーバーのデバイスIDを入力し、保存ボタンをクリックします。次の画面が表示されるはずです:

フォルダとデバイス

次に、2番目のサーバーと同期したいフォルダを追加して共有する必要があります。フォルダを追加ボタンをクリックします。次の画面が表示されるはずです:

フォルダを追加

フォルダラベル、フォルダパスを入力し、共有タブをクリックします。次の画面が表示されるはずです:

フォルダ共有

2番目のサーバーにチェックを入れ、保存ボタンをクリックします。次の画面が表示されるはずです:

Syncthingのフォルダとデバイス

次に、2番目のサーバーに移動し、すべて再スキャンボタンをクリックします。次の画面が表示されるはずです:

すべて再スキャン

追加をクリックして、最初のサーバーで共有されたバックアップフォルダを追加します。次の画面が表示されるはずです:

フォルダを同期中

これで、最初のサーバーのバックアップフォルダでファイルを作成または変更するたびに、それらは自動的に2番目のサーバーに同期されます。

SyncthingのリバースプロキシとしてNginxを設定する

Nginxをリバースプロキシとして設定して、ポート80を介してSyncthingサーバーにアクセスすることもできます。

まず、次のコマンドを使用してNginxサーバーをインストールします:

apt-get install nginx -y

次に、次のコマンドを使用してNginxの仮想ホスト設定ファイルを作成します:

nano /etc/nginx/conf.d/syncthing.conf

次の行を追加します:

server {
  listen 80;
  server_name syncthing.example.com;

  access_log /var/log/nginx/syncthing.access.log;
  error_log /var/log/nginx/syncthing.error.log;
  location / {
    proxy_pass http://127.0.0.1:8384;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

ファイルを保存して閉じたら、次のコマンドを使用してNginxの構文エラーを確認します:

nginx -t

次の出力が得られるはずです:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

次に、変更を適用するためにNginxをリロードします。

systemctl reload nginx

次のコマンドを使用してNginxのステータスを確認することもできます:

systemctl status nginx

次の出力が表示されるはずです:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-09 05:01:36 UTC; 21s ago
       Docs: man:nginx(8)
   Main PID: 3394 (nginx)
      Tasks: 2 (limit: 2353)
     Memory: 6.2M
     CGroup: /system.slice/nginx.service
             ??3394 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??3395 nginx: worker process

Jul 09 05:01:36 node1 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 09 05:01:36 node1 systemd[1]: Started A high performance web server and a reverse proxy server.

これで、URL http://syncthing.example.com を使用してSyncthingサーバーにアクセスできます。

結論

おめでとうございます! Ubuntu 20.04の2台のサーバーにSyncthingを正常にインストールして構成し、両方のサーバー間で同期を設定しました。このチュートリアルがサーバーのバックアップに役立つことを願っています。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。