LoginSignup
4
4

More than 3 years have passed since last update.

WinSWでMetabaseをWindows10のサービス化する

Last updated at Posted at 2019-09-01

はじめに

この記事では、Metabaseをwindows10のサービス化して、windows10起動時に自動的Metabaseが起動する方法を紹介します。
(ただし、セキュリティ面はよくわかりませんので自己責任でお願いします。)

実行環境

この記事は以下の環境で動作確認しています。

・OS:Windows10
・Metabase : v0.33.0
・WinSW.NET4 : V2.3.0.0

手順

1.WinSWの入手
WinSWをGoogleなどで検索して、ダウンロードして入手します。
私の環境の場合は、WinSW.NET4.exeをダウンロードしました。

2. WinSWを所望のフォルダに格納
ダウンロードしてきた、WinSW.NET4.exeをmetabase.jarが格納されているフォルダと同じフォルダにコピーします。
(実際にサービス化して動作させると、logファイルなど色々が生成されるようですので、分かる人はフォルダを分けたほうがいいかもしれません。)

3. WinSWのリネーム
WinSW.NET4.exeをmetabase.exeにリネームします。
おそらく名前は自由でいいと思われますが、ここではmetabase.jarと同じmetabaseを使用します。

4.設定ファイル metabase.xmlの作成
適当なエディタでmetabase.exeと同じフォルダ内にmetabase.xmlを作成します。
(いろいろ試した結果、下記のようにするとうまくいきました。)

metabase.xml
<service>
  <id>metabase</id>
  <name>metabase</name>
  <description>This service runs metabase continuous integration system.</description>
  <executable>java</executable>
  <arguments>-jar "metabase.jar"</arguments>
  <logmode>rotate</logmode>
</service>

5.metabase.exeのサービスへの登録
コマンドプロンプトで同フォルダに移動して、metabase.exe installを実行します。
このときコマンドプロンプトは「管理者として実行」する必要がありますので、ご注意ください。

これでサービスとして登録されます。

6.サービス登録の確認
サービスとして登録されているかを確認します。
Windowsのサービスに登録されていれば下記のような内容が表示されます。

image.png

7.動作確認
では、Windowsを再起動して自動的にMetabaseが起動するか確認します。
再起動後に、Metabaseを起動するために実行していたコマンドプロンプトからの「java -jar metabase.jar」を実行せずに、
ブラウザからMetabaseにアクセスできれば成功です。
 
image.png

8.別のパソコンからアクセスできることの確認
また、このパソコン(Metabaseがサービス化されたパソコン)からサインアウトした状態で、別のパソコンのブラウザから確認できるかを確認します。
この時はプライベートIPアドレス+ポート番号指定のhttp://192.168.x.x:3000等でアクセスします。
ポート番号はMetabaseのポート番号で、デフォルトは3000です。(変更もできるようです。)

私は下記のように同一ネットワーク内のスマホから確認しました。
 image.png

まとめ

上記の通り、WinSWによって、Metabaseをサービス化することができ、毎回起動する必要がなくなりました。
(セキュリティ的な面はあまりよくわかってませんので、注意してください。)

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4