Syncthingで遠隔地の録画データを同期する

遠隔地に置いてる録画サーバのデータをバックグラウンドでよしなに同期する必要が出ました。

ただ、普段WebGUIで録画予約するために使っているZerotier-Oneでもいいのですが、あんまり安定してないので別の手を考えることにしました。

ということで、さくっとSyncthing導入します。

                                                                  VPN
                                                                   +
+-----------------------------------------------------------+      |            +----------------------+
|                                                           |      |            |                      |
| tv_rec                                +--------------+    |      |            | nas                  |
|                        WebGUI         |              |    |      |            |                      |
|                        +--------------+ Zerotier-One | <---------+            |                      |
|                        |              |              |    |                   |                      |
|                        |              +--------------+    |                   |                      |
|                        v                                  |                   |                      |
|                                                           |                   |                      |
|  +-----------+    +---------+        +------------+       |                   |    +-------------+   |
|  |           |    |         |        |            |       |                   |    |             |   |
|  | Mirakurun +--> |Chinachu +------> | Syncthing  +----------------------------->  |  Syncthing  |   |
|  |           |    |         |        |            |       |                   |    |             |   |
|  +-----------+----+---------+--------+------------+       |                   |    +-------------+   |
|  |                                                |       |                   |    |             |   |
|  |          Docker                                |       |                   |    |   Docker    |   |
|  |                                                |       |                   |    |             |   |
|  +------------------------------------------------+       |                   |    +-------------+   |
|                                                           |                   |                      |
|                                                           |                   |                      |
|                                                           |                   |                      |
+-----------------------------------------------------------+                   +----------------------+


導入は双方ともに公式のDockerイメージを使います。

あとはそれっぽいdocker-compose.yml書いてできあがり。

ちょっと気にしたのは、環境変数GOMAXPROCSで使用するコア数を制限したくらいでしょうか。

version: '2'

services:
  syncthing:
    image: syncthing/syncthing:v0.14.47
    environment:
      - GOMAXPROCS=1
    restart: always
    volumes:
      - /data/:/data:rw
      - ./syncthing:/var/syncthing:rw
    ports:
      - 8384:8384

あとは放置しておくだけ。すばらしいですね!


余談

便利!
http://asciiflow.com/