Help us understand the problem. What is going on with this article?

DockerでTimeMachineサーバを作ってバックアップ

More than 3 years have passed since last update.

みなさんは、バックアップを何でしていますか?

私は最近MBP Late2016を買ってmacOSデビューしました!!!

なので、TimeMachineサーバをDockerで立ててそれをGoogleDriveに保存したいと思います!!

と思っていたのですがマウントすると、どうしても認識してくれないのでGoogle Driveの認証を書いていますが意味ないです。本当にわけがわからない。なんでなの?ねえ。

その前に

今回はローカルでサーバを立ててバックアップを試みたのですが、どうしても接続できなかったので Dplyという2時間だけ無料で使えるVPS上にサーバを立てました。

セットアップ

~ ssh root@IP
$ curl -fsSL https://get.docker.com/ | sh
$ add-apt-repository ppa:alessandro-strada/ppa # Google Driveをマウントする
$ apt-get update
$ apt-get install google-drive-ocamlfuse

Google DriveのAPIを有効にする

Google Driveをマウントするために、Google DriveのAPIを有効にします。

プロジェクトの作成

https://console.developers.google.com/apis/dashboard
にアクセスして、プロジェクトを作成をクリックします。

スクリーンショット 2016-12-15 1.19.31.png

プロジェクト名を入力し「作成」をクリック。
スクリーンショット 2016-12-15 1.20.18.png

APIの有効化

ダッシュボードに移動できたら、「APIを有効にする」をクリックして、
スクリーンショット 2016-12-15 1.21.01.png

Google Drive APIのAPIを有効にします。
スクリーンショット 2016-12-15 1.21.13.png

認証情報の作成

まずは、OAuth 同意画面を作り「サービス名」を適当に入力します。
スクリーンショット 2016-12-15 1.22.20.png

認証情報を作成します。「OAuth クライアント ID」をクリックします。
スクリーンショット 2016-12-15 1.21.45.png

アプリケーションの種類には「その他」を選択して、作成します。
スクリーンショット 2016-12-15 1.29.16.png

すると「クライアント ID」「クライアントシークレット」が生成されます。
スクリーンショット 2016-12-15 1.29.57.png

Google Driveへのアクセス許可

$ google-drive-ocamlfuse -headless -id クライアントID -secret クライアントシークレット

と入力するとGoogleのOAuth認証を求めるURLが表示されるので、アクセスします。

スクリーンショット 2016-12-15 1.35.27.png

許可しましょう。
スクリーンショット 2016-12-15 1.38.59.png

コピーしましょう
スクリーンショット 2016-12-15 1.39.05.png

コンソールに戻ってコードを貼り付けて
Access token retrieved correctly と表示されたら成功です!

マウント

$ mkdir /googledrive
$ google-drive-ocamlfuse /googledrive
$ mkdir /googledrive/timemachine

Google Driveでも「timemachine」フォルダがあることが確認できると思います。

netatalk を立てる

netatalkとは

netatalkはUnix系OS上でMac OSやOS Xに対してAFPによるファイルサーバの機能を提供するオープンソースのソフトウェアである。
https://ja.wikipedia.org/wiki/Netatalk

つまりファイル共有サーバの機能を提供するわけですね。

起動する

docker run --detach \
   # --volume /googledrive/timemachine:/media/timemachine \ -> これだと認識してくれない
   --publish 548:548 \
   --env AFP_USER=$(id -un) \
   --env AFP_PASSWORD= \
   --env AFP_UID=$(id -u) \
   --env AFP_GID=$(id -g) \
   --name netatalk \
   cptactionhank/netatalk:latest

Finderで CMD + K を押して afp://IPアドレス で接続します。
スクリーンショット 2016-12-15 1.55.34.png

設定したパスワードとユーザでログインします。
スクリーンショット 2016-12-15 1.55.50.png

Time Machineを選択してOKをクリックします。
スクリーンショット 2016-12-15 2.51.50.png

するとTime Machineの設定にもでてくるはずです。
スクリーンショット 2016-12-15 1.56.40.png

まとめ

どうしてGoogle Driveをマウントしても認識してくれないのだろう。
(コンテナの中を見に行くとちゃんとマウントはできているみたい)
今後は、gcsfuseとかを使って挑戦してみたいです。

SatoTakumi
渋谷で働くWebエンジニアです!
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした