2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

syncthingをdocker-composeで起動する方法

Last updated at Posted at 2018-10-09

はじめに

Syncthingは優れたファイル同期ツールですが、Docker Composeを使うことで簡単かつ効率的に管理できます。この記事では、Syncthingをdocker-composeで起動する手順を、セットアップからトラブルシューティングまで簡潔に説明します。

1. 準備

まず、Syncthing用のディレクトリを作成します:

mkdir -p ~/data

注意: このディレクトリを事前に作成することで、後々の権限問題を防ぎます。

2. docker-compose.ymlの作成

$HOMEディレクトリにdocker-compose.ymlファイルを作成し、以下の内容を記述します:

services:
  syncthing:
    image: syncthing/syncthing
    container_name: syncthing
    hostname: my-linux
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - ./data:/var/syncthing
    network_mode: host
    restart: unless-stopped

設定の詳細説明

  • container_name: syncthing

    • コンテナの識別名です。Docker環境で管理しやすくなります。
  • hostname: my-linux

    • Syncthingのノード名として使用されます。他のデバイスから識別しやすい名前を設定してください。
  • environment:

    • PUID=1000PGID=1000
      • ホストマシンのユーザーIDとグループIDを指定します。
      • これにより、コンテナ内で作成されるファイルの所有者がホストのユーザーと一致し、権限の問題を防ぎます。
      • 実際の値は id -uid -g コマンドで確認し、適切な値に置き換えてください。
  • volumes:

    • - ./data:/var/syncthing
      • ホストの ./data ディレクトリをコンテナの /var/syncthing にマウントします。
      • これにより、Syncthingのデータと設定が永続化され、コンテナを再作成しても失われません。
  • network_mode: host

    • コンテナにホストのネットワークスタックを使用させます。
    • これにより、Syncthingがローカルネットワーク上の他のデバイスを適切に検出できるようになります。
  • restart: unless-stopped

    • Dockerデーモンの再起動時やホストマシンの再起動時に、自動的にコンテナを起動します。
    • ただし、手動でコンテナを停止した場合は再起動しません。

3. コンテナの起動

以下のコマンドでコンテナを起動します:

docker-compose up -d

4. トラブルシューティング

証明書の生成エラー

次のようなエラーが発生した場合:

Failed to load/generate certificate: save cert: open /var/syncthing/config/cert.pem: permission denied

これは~/dataディレクトリの所有権の問題です。以下の手順で修正できます:

  1. ディレクトリの所有権を確認:
ls -la ~/data
  1. 所有権を自分のユーザーに変更:
sudo chown -R $(id -un):$(id -gn) ~/data

まとめ

以上の手順で、Docker Composeを使用してSyncthingを簡単に起動できます。この方法を使えば、Syncthingの管理が容易になります。

Syncthingの基本的な設定や使用方法については、Syncthingの公式ドキュメントを参照してください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?