Mastodon、Macに「Naumanni」をインストールする(その2)

前回の記事で、MacにMastodonのwebクライアント、「Naumanni(ナウマン)」をインストールした手順を書いたが、結論からいうと、前のやり方では不十分である。

Chromeでhttp://localhostが通らないとか、Safariでhttp://localhost:8080が通らないとか、あげくの果ては、「mstdn.jp」にアクセスできないとか。
どうしてこんなことになるのかよく考えてみると、「Naumanni」はMacの中にwebサーバーを立ち上げ、その「8080」ポートを通して、インスタンスに接続して使うものである。
ということは、Mac内部にwebサーバーが立ち上がっていないということではないか?
そう言われてみれば、今のMacにはweb共有がなくなってる。
つまり、webサーバーをインストールしなくてはいけないということである。

後、Dockerは一種の仮想環境を提供するものである。
ということは、Mac内にバーチャル・マシンがあるはずである。
試しに、ターミナルで「docker-machine ls」のコマンドを打ってみるとエラーになる。
つまり、仮想マシンがないのである。これでは、「Naumanni」もうまく動くはずがない。

ググってみると、今のバージョンの「Docker for Mac」では、バージョンマシンの作成は「Docker Toolbox」を使って行うとのこと。

Mac OS X へのDockerのインストール方法

というわけで、ようやく「Naumanni」をインストールする手順がわかった。

  1. Docker for Macをインストールする
  2. Docker Toolboxをインストールする
  3. nginx(webサーバー)をインストールする(【追記:2017/07/03】開発者のshnさんの指摘で、nginxは不要だとのこと)
  4. Naumanniをインストールする

以下、この手順で、説明していきたいと思う。

1. Docker for Macをインストールする

これは、前の記事で説明したので、割愛する。

2. Docker Toolboxをインストールする

ここで躓いてしまった。
MacOSの最新版、macOS Sierraでは、pkgファイルからはインストールできないのである。
いろいろ調べてみると、コマンドラインでインストールする方法があった。

macOS SierraでDockerを再インストールしたときに発生した問題

どうやら「Node.js」をインストールしないといけないようである。
ここを乗り越えないと先へいけないので、頑張って取り組むことにする。
参考にした記事は、以下の通り。

Node.jsをMacにインストール!

ここにある通り、Homebrew→Nodebrew→Node.jsの順にインストールしていく。

まずは、Homebrewのインストール。これから後の作業は、全てターミナルから、コマンドラインで行う。

$ /usr/bin/ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install

僕の記憶が正しければ、この時同時に「Xcode Command Line Tools」がインストールされるはずである(ちょっと不明)。

次は、nodebrewのインストールである。

$ brew install nodebrew

インストールできたら、バージョンを確認。

$ nodebrew -v

以下のように、ずらずらっと表示されたらOK。

次は、いよいよnode.jsのインストールである。
最新版をインストールしたいので、下記のように打つ。

$ nodebrew install-binary latest

バージョンを確認すると、下記のように最新版になっていた。

$ nodebrew list
 v8.1.2

current: v8.1.2

以下のサイトも参考にしてほしい。

Node.jsをMacにインストールしてnpmを使えるようにする

【おまけ】
これで、npmが使えるようになったんで、yarnもインストールしておいた(Naumanniとの依存解消のため)

$ brew update
$ brew install yarn

これで、ようやく「Docker Toolbox」をインストールできる。

$ brew update
$ brew cask install docker-toolbox

インストールが完了したら、Dockerのメニューから「Kitematic」を選択する。
僕の記憶では、この作業でバーチャル・マシンが作成されたように思う(うろ覚え)。

うまくバーチャル・マシンが動いているかどうか、テストにコンテナを作って見て確認する。

$ docker run hello-world

以下のように表示されたら問題ない。

$ docker-machine ls
 NAME  ACTIVE DRIVER   STATE  URL             SWARM
 default *   virtualbox Running tcp://192.168.99.101:2376

3. nginxのインストール

【追記:2017/07/03】このステップは不要であるが、nginxインストールの備忘録として残しておく
ようやく、ngixnのインストールである。

これはDockerからインストールする方法と、homebrewからインストールする方法があるが、僕は多分homebrewでインストールしたはず(多分)

$ brew install nginx

そして、起動させる。

$ ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

ブラウザにhttp://localhost:8080と打ち込んで、以下の画面が表示されたら、インストール成功である。

4. Naumanniのインストール

これは前回の紹介した方法で問題ない。

$ docker pull naumanni/naumanni-standalone
$ docker run -it -p 8080:80 naumanni/naumanni-standalone

これで、http://localhost:8080/で接続して、Naumanniが表示されたら成功である。

Dockerのコンテナイメージを確認したら、以下の通りになっているはず。

$ docker images
 REPOSITORY                   TAG    IMAGE ID     CREATED     SIZE
 hello-world                  latest 1815c82652c0 5 days ago  1.84kB
 naumanni/naumanni-standalone latest da2a67443f33 2 weeks ago 119MB

と、一通りの流れを書いたが、一日経った今、うまく接続できるのはChromeだけである。SafariもFireFoxもアクセスができない。
これ以上は、僕には分からないので、詳しい方の教えを請いたいものである。

【追記:2017/07/03】
Naumanniにうまく接続できない場合、コンテナが起動していないことがある。
例えば、Macを再起動したらNaumanniが立ち上がらないという問題である。
その場合は、runする時に、オプションに「–restart=always」をつけると、ホストが再起動した場合にも、コンテナが自動的に起動してくれる。
こんな感じである。

$ docker run -it -p 8080:80 --restart=always naumanni/naumanni-standalone

僕はこれでようやく快適にNaumanniを使えるようになった。
参考にしたwebpageは以下である。

ホストを再起動した時などにDockerコンテナを自動的に再起動できるようにする

現在、Naumanniはバージョン0.2.0になり、スパム判定も有効になっている。
複数のインスタンスを横断的に読むのに、とても使いやすい。

多くの人に使ってほしいクライアントである。

コメントを残す

メールアドレスは公開されません

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください