Syncthing Docker Composeビルダー
Syncthing用のcompose.yamlを作成します。ホストネットワークまたはブリッジネットワーク、GUIアドレス、ユーザーとグループ、ストレージ、追加フォルダーを選択すると、対応するヘルスチェック付きのファイルを取得できます。
入力
出力
- データフォルダーと追加するフォルダーは、上記のユーザーおよびグループが書き込み可能である必要があります。
Readme
Syncthingとは?
Syncthingは、中央サーバーを介さず、デバイス間でフォルダーを直接同期するオープンソースプログラムです。このプロジェクトでは公式イメージ syncthing/syncthing が提供されており、そのWeb GUIはポート8384で、同期プロトコルはTCPおよびQUIC用にポート22000を使用します。同じネットワーク上のデバイスは、ポート21027でのブロードキャストによって互いを検出します。
ツールの説明
このツールは、プロジェクトのDocker READMEに従ったSyncthing用の compose.yaml を作成します。デフォルトではホストネットワークを使用します。これは、Syncthingがローカルネットワーク上のデバイスを認識できるため、READMEで推奨されています。このモードでは STGUIADDRESS の設定を解除するため、GUIはSyncthingの設定で指定されたアドレス(デフォルトでは 127.0.0.1:8384)で待ち受けます。ブリッジモードを選択することもできます。その場合、GUIポート、TCPおよびUDP用の同期ポート、検出ポートが公開され、ブリッジモードによる制約について警告が表示されます。ホスト名、PUID と PGID によるユーザーとグループ、任意の UMASK と PCAP、データフォルダー、ホストから使用する追加のフォルダーなどを設定できます。GUIアドレスに従うヘルスチェックも追加されます。すべてブラウザー上で作成できます。
機能
- 推奨されるホストネットワーク、またはポート8384、22000/tcp、22000/udp、21027/udpを公開するブリッジモード
- ホストモードでのGUI待ち受けアドレス、および他のマシンからアクセス可能になる場合の警告
- ブリッジモードでのGUIポートのバインドアドレス(
127.0.0.1など) PUID、PGID、UMASK、PCAP、およびデバイス名として使用するホスト名- ホスト上のデータフォルダーまたは名前付きDockerボリューム(ボリュームは自動的に宣言されます)
- 同期する追加のフォルダー(それぞれ読み取り専用に設定可能)
- READMEに記載されているヘルスチェックを、GUIのポートとアドレスに合わせて調整したもの
- その他の環境変数、ファイルの内容を説明するコメント、および
compose.yamlとしてのダウンロード
例
デフォルト設定では、Syncthing Docker READMEに記載されている次の例が生成されます。
services:
syncthing:
image: syncthing/syncthing
container_name: syncthing
hostname: syncthing
network_mode: host
environment:
PUID: "1000"
PGID: "1000"
STGUIADDRESS: ""
volumes:
- ./st-sync:/var/syncthing
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
restart: unless-stoppedヒント
- 結果を
compose.yamlとして保存し、docker compose up -dで起動します。その後、http://127.0.0.1:8384を開きます - Dockerのデフォルトのブリッジモードではデバイスのローカルアドレスが隠されるため、接続に時間がかかったり、リレー経由で接続されたりします。可能な場合はホストモードを使用してください
- イメージはデフォルトで
0.0.0.0:8384で待ち受けます。そのため、ホストモードではSTGUIADDRESSの設定を解除し、ブリッジモードでは、他のマシンからアクセスする必要がない限り、公開するGUIポートを127.0.0.1にバインドする必要があります - GUIに他のマシンからアクセスできる場合は、Syncthingの設定でGUIパスワードを設定し、TLSを有効にしてください
- データフォルダーとここで追加するフォルダーは、
PUIDとPGIDで書き込み可能である必要があります - ここで追加したフォルダーは、コンテナ内のパスにあるフォルダーとしてSyncthingに表示されるため、GUIでフォルダーを追加する際にはそのパスを選択してください
- 同期ポートは22000のままにしてください。Syncthingが他のデバイスにそのポートへ接続するよう通知するためです