あけましておめでとうございます。ナナオです。

去年はいろいろありまして一つもブログを挙げられず。。

今年はやったるぞ!ということで、元旦から挙げていこうと思います。

ということで、今回は2年ほど愛用しているSyncthingというツールをおすすめしていきたいと思います。

ちなみに自慢じゃないですが私のブログはほぼ手書きです。(AIを使っていない)

導入のきっかけ

私はメインにデスクトップ、サブにノートという両刀使いで開発をしているのですが、二年ほど前この二つの環境でのプロジェクトのソースコード共有の方法に頭を悩ませていました。

当時は基本的にGithubにプッシュして、それぞれの環境にそれをプルしてプロジェクトを共有するという開発をしていたのですが、個人開発でそれをしてもデスクトップで変更したものをノートでいちいちプルするのがとにかく面倒だったのです。

なんかないかなーと調べて、出てきたのが「Syncthing」というツールでした。

Syncthing

Syncthingとは

このツールは、指定したフォルダの内容をデバイス間で共有できるというシンプルなツールになっています。

ソースコードの共有を想定しているためか、gitignoreみたいなファイルを配置すればそのファイルを無視できるなど、ちょっとエンジニア指向なツールになっています。

WebGUIもあるため、操作性もよいです。

一度共有すれば、同一ネットワーク上に共有デバイスが存在する場合に勝手にフォルダ同期を行ってくれるので、Gitでプッシュ・プルするよりも格段に共有が楽になります。

使い方

Windowsではwingetで導入できます。

winget install Syncthing.Syncthing

MacOS/Linuxではbrewで導入できます。

brew install syncthing

インストールできたら起動します。

syncthing

起動するとブラウザが立ち上がります。

最初の画面

また、このサービスは常にバックグラウンドで立ち上げておく必要があるので、brew servicesで登録しておきましょう。

brew services start syncthing

Windowsの場合はタスクスケジューラに登録しましょう。

Starting Syncthing Automatically — Syncthing documentation

デバイスの登録

Syncthingをセットアップしたデバイスがローカルネットワーク上に二台以上できたなら、フォルダ共有の準備が整いました。

簡単です。

接続先デバイスの追加をクリックします。

IDとデバイス名を入力します。

画像では何も入力されていませんが、同一ネットワークに未登録かつSyncthing起動済みのデバイスがある場合IDが自動入力されます。

ちなみに、IDはトップ画面の「IDを表示」から参照できます。

フォルダの登録

フォルダの登録はWebUI上から行います。

「フォルダを作成」をクリックします。

フォルダ名とパスを埋めて、保存を押します。

これでフォルダを共有する準備ができました。

登録されたフォルダの共有

いよいよフォルダの共有を行います。

登録したフォルダを編集します。

共有タブから共有したいデバイスにチェックを入れ、保存を押します。

保存を押すと、対象のデバイスのWebUI上で共有を受け入れるかどうかが聞かれるので「追加」を選択します。

これで「フォルダの登録」で行ったのと同じ手順でフォルダ名とパスを埋めて保存を押すと、同期が開始されます。

感想

フォルダの共有作業が圧倒的に楽になるSyncthing、導入してからソースコード共有が非常に楽になりました。

同じような開発環境の方はぜひ試してみてください!