[Docker] 無料SEOツール・SerposcopeをDockerでさくっと立ち上げる
サーバーさえあれば、完全フリーで使える無料SEOツール・Serposcope。GRCの代わりに使っているという方も多いのではないでしょうか。今回は、SerposcopeをDockerでさくっと立ち上げてみます。
更新日: 2018.7.17公開日: 2017.10.6
Serposcopeって何?
高性能な検索順位チェッカーです。サーバーにインストールするタイプのフリーウェアで、うまく使えば100キーワードほどの順位チェックを自動でやってくれます。チェックキーワード数が多いとGoogleのCaptchaが走ってしまうので、個人的な経験では100ワードくらいが限界です。
サイトは全部英語ですが、いじっていればなんとなく使い方がわかります。
今回は、このSerposcopeをDockerを使ってインストールします。
下準備
まずは、下準備をしていきます。
基本的には、Serposcopeの公式Githubレポジトリの通りですが、個人的にdockerコンテナはdocker-composeで管理したい派なので、docker-composeを使用します。
必要ファイルをコピーする
まずは、作業ディレクトリ(ここではserposcope)に、Serposcopeの公式Githubレポジトリから必要ファイルをコピーしてきます。git cloneで持ってくるなり、コピペでファイルを作成するなりします。
一点、entrypoint.shに実行権限を与えるのを忘れないようにします。
chmod +x entrypoint.sh
この時点でのディレクトリ構成は、下記のようになります。
serposcope
└── Dockerfile
└── entrypoint.sh
└── serposcope
docker-compose.ymlを用意する
次に、docker-copomseコマンドで一気にイメージビルドからコンテナアップまでしたいので、docker-copomse.ymlを用意します。
以下の例は、ホストの7134ポートで公開する場合です。
version: '2'
services:
serposcope:
build: .
volumes:
- /etc/localtime:/etc/localtime:ro
ports:
- "7134:7134"
restart: always
ちなみに、nginx-proxyでLet’s EncryptのSSL証明書を発行・管理している場合は、下記のようになります。
(nginx-proxyコンテナとは「common_link」という共通ネットワークでつないでいます。具体例はこちらの記事をどうぞ。)
version: '2'
services:
serposcope:
build: .
environment:
VIRTUAL\_HOST: seo.hogehoge.com
VIRTUAL\_PORT: 7134
LETSENCRYPT\_HOST: seo.hogehoge.com
LETSENCRYPT\_EMAIL: [email protected]
LETSENCRYPT\_TEST: "false"
volumes:
- /etc/localtime:/etc/localtime:ro
ports:
- "7134"
restart: always
networks:
- common\_link
networks:
common\_link:
external: true
最終的には、下記のようなファイル構成になります。
serposcope
└── Dockerfile
└── docker-compose.yml
└── entrypoint.sh
└── serposcope
いざ起動!
下準備が終わったのでいよいよ起動します。と言っても、docker-composeコマンドを実行するだけです。
docker-compose upで一気に立ち上げる
docker-compose up -d
docker-compose buildでイメージを先に作ることが多いようですが、いきなり「docker-compose up -d」してもきちんとビルドしてくれました。
あとは、docker psでコンテナが立ち上がっているか確認します。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
307893ce4650 serposcope\_serposcope "/entrypoint.sh" 9 seconds ago Up 8 seconds 0.0.0.0:32798->7134/tcp serposcope\_serposcope\_1
立ち上がっていますね。
ホーム画面がでてくれば成功
さて、あとはきちんと動いているかを確認します。
サーバーのIPアドレス(ローカル環境ならlocalhost)か、nginx-proxyを使っているならdocker-compose.ymlで指定したアドレスにブラウザでアクセスして、ホーム画面が出てくれば成功です。
DockerでSerposcopeがさくっと立ち上げられました。
Serposcopeは一つのサーバーからだと、完全自動で取れるのは100キーワードくらいが限界っぽいので、それぞれのドメインでSerposcopeをDockerで立ち上げてしまえば、サーバー台数分だけSerposcopeを持てるので、管理が楽になりそうです。