| tags:raspberry pi sync categories:server
Syncthingのインストールと設定
Dropboxをブログの写真やスクリーンショットをマックブックに移動するために使っていました。 問題はインターネットの回線が必要なこと。 日本国内のように光通信で網羅されている環境では気にするまででもないのでしょうが、 最近の滞在先があまり通信環境が良くないところなので、 物理的にすぐそこにあるのに、なかなか、アップロードもダウンロードもできない状態が重なり、ちょっとストレス。
しかも、最近Dropboxが接続台数制限をかけ始め、ちょっと怪しげな雰囲気になってきましたし、自前でパイ・サーバーやルーターを構築したりしているので、この辺りを改善に向けちょっと作業をしました。 nextCloudやpydioを試してみましたが、ちょっと、MariaDBやwebサーバーなどをインストールしなければいけないし、規模が大きくパイ・ゼロでの運用は少し荷が重いようです。
矛先を変えアップルのエアー・ドロップような感覚で使えそうな、ピアツーピアのSyncthingを導入しました。ちょっとアンドロイドのアプリが割りに落ちますが、これはアプリの問題なのか、不安定な通信状況による不具合なのかは定かではないのだけれど、なかなか好感触。唯一残念なところはiOSのクライアントがないところ。ただ持っているiOS端末はアプリ検証用のiPhone5Sなので、切り捨てます。画像のやり取りはマックブックに直接繋げて行います。 macOSへはbrewよりインストールが可能なのでまぁ良しとしました。
まぁ、さて、ラズビアン・パイゼロにインストール。
$ sudo apt install syncthing
で、インストールはおわり。
設定
ヘッドレスで運用しているパイ・サーバーの場合、sshでサーバーに接続し、syncthingを起動しても設定のためのWebページが開きません。デバイス登録、共有フォルダーの設定などができません。
SSHでポート番号を振り分けることもできるらしく、syncthingで使われるポート:8384をローカルのポート:9999に割り当て、(もちろん9999以外のポートを使っても構いません。)ローカル・マックブックで作業を行います。
«パイ・サーバー»:8384 <- を・へ -> «ローカル»:9999
マックブックから、SSHコマンドssh -L 9999:localhost:8384 ユーザー名@ホスト名orアドレス
でサーバーへ接続します。
$ ssh -L 9999:localhost:8384 pi@10.0.0.65
$ syncthing
SSHで接続したまま、syncthingを起動します。
マックブックのWebブラウザでhttp://127.0.0.1:9999
にてリモートで動いているSyncthingの設定画面が表示されるはずです。そしてローカルで動かしているSyncthingはhttp://127.0.0.1:8384
で立ち上げます。
左にサーバー、右にマックブックの画面を開いてます。ここでデバイスの登録、共有するフォルダーの設定などを行います。
自動起動
サーバにての作業が続きます。syncthingを起動時に動かすために、syncthingサービスを systemdに登録します。ユーザー名「pi」は、ご自身のものに変えて実行してください。
$ sudo -Es
# cp /lib/systemd/system/syncthing@.service /etc/systemd/system/syncthing@pi.service
# systemctl start syncthing@pi.service
# systemctl enable syncthing@pi.service
参照:https://docs.syncthing.net/users/autostart.html#linux
転送もローカル・ネットワークなので、繋がっていれば瞬間です。 これで、ネットがつながっていないところでもルーターが必要ですが、携帯で撮った写真をマックブックに持ってくることができます。
パート2:デバイスの登録と、同期設定