Windowsのローカル環境で電子ラボノートeLabFTWを実行する

オープンソースで開発が進んでいる電子ラボノートのeLabFTWですが、基本的にはサーバー上にインストールして実行する必要があります。しかし、「ちょっと試してみたい」という場合にはサーバーまで準備するのは気が引けますよね?そのようなときは、Windowsのローカル環境でeLabFTWの実行環境を整えてみましょう。

もちろん、「最初はWindowsのローカル環境でお試しで使い始めて、途中からクラウドサーバーでの本格的な運用を開始する」などといった柔軟な運用も可能です。詳細は以下の記事をご覧ください。

eLabFTW とは?

eLabFTW はオープンソースで開発が進められている電子ラボノートです。アプリケーション自体は無料で、自前のサーバーや、クラウドサービス、もしくはQnapのNASなどにインストールすることで使用できます(サーバー代等は別途必要になります)。

基本的にはチームで用いるものなので、サーバーで稼働させるのが基本ですが、一応ローカル環境に対するインストールのオプションも用意されています。「eLabFTWに興味はあるけど、サーバーまで用意して試す気にはなれない」という方はまずローカルで試してみましょう。一人で研究を行っている場合もローカルで十分かもしれません。

Windowsのローカル環境へのインストール手順はこちらをご覧ください。ここでは、この手順に沿ってWindowsへのeLabFTWのインストールを行ってみます。

ちなみに、eLabFTWの雰囲気を知るだけなら、以下のURLからeLabFTWのデモを実行することができます。(入力されているID・パスワードそのままでログインして下さい)


なお、eLabFTW以外の電子ラボノートについてはこちらの記事をご覧ください。

Docker for Windows をインストールする

Docker で仮想化した空間にeLabFTWをインストールする必要があるので、まずはDocker for Windowsをインストールする必要があります。なお、Docker for Windowsのインストールには以下の要件が必要になるので注意してください。

  • 64bit の Windows 10 Pro 以上
  • 4GB以上のメモリ

Hyper-V と Container の有効化

Windowsの設定アプリで、検索欄に「Windowsの機能の有効化または無効化」と入力し、出てきた項目をクリックします。(→ 「Windowsの機能」ダイアログが出てくる)

「Windowsの機能」からContainersとHyper-Vのチェックを入れて、OSを再起動しましょう。

Docker for Windows のインストール

以下からDocker for Windowsのインストーラをダウンロードします。特にこだわりがなければ、「Get Stable」で安定版を入手しましょう。

ダウンロードが完了したら、インストーラを実行して指示通りにインストールを行っていきます。

最後に、「Close and restart」でWindowsを再起動して、インストール完了です。

Dockerのチュートリアルもありますが、スキップしてしまって問題ありません。

eLabFTW をインストールする

続いて手順に沿ってeLabFTWをインストールしていきます。

  1. 以下のDocker の設定ファイルのテンプレートをダウンロードし、「docker-compose.yml」というファイル名でeLabFTWをインストールしたい場所に保存します。(ここでは、「C:\elabftw」に保存します)
  2. 1で保存したdocker-compose.ymlをテキストエディタで開き、必要箇所を変更します。
    • Windows標準の「メモ帳」はテキストエディタとして推奨されていないようです。VS Codeや秀丸、Notepad++などを使いましょう。
    • 以下の項目の設定変更が必要です。
version: '3'
services:

      ...(省略)...

  web:
    volumes:
        # this is where you will keep the uploaded files persistently
        # for Windows users it might look like this
        # - D:\Users\Nico\elab-data\web:/elabftw/uploads
        # host:container
        - ./web:/elabftw/uploads

      ...(省略)...

  # the mysql database image
  mysql:

      ...(省略)...

    volumes:
        # this is where you will keep the database persistently
        # for Windows users it might look like this
        # - D:\Users\Nico\elab-data\mysql:/var/lib/mysql
        # host:container
        - ./mysql:/var/lib/mysql

      ...(省略)...

  # the internal elabftw network
  networks:
    elabftw-net:
  • webのvolumes:「/var/elabftw/web:/elabftw/uploads」→「./web:/elabftw/uploads
  • mysqlのvolumes:「/var/elabftw/mysql:/var/lib/mysql」→「./mysql:/var/lib/mysql

これで、コンテナ側のファイルをホストOS側(=Windows側)のファイルに対応させることができました(マウント)。なお、ここでは相対パスで指定していますが、Windowsのファイルパスで指定しても構いません。

  1. マウントするディレクトリを予めDocker側に指定しておきます。
    • Docker for Windows の仕様で、マウントするディレクトリをDockerに指定しておく必要があるようです。
    • まず、右下のDockerのアイコンを右クリックして、Settingsをクリックして、Dockerの設定画面を出します。
    • 設定画面から、「Resources」→「File Sharing」でマウントするディレクトリ(=docker-compose.ymlを保存したフォルダ)を指定して、「Apply & Restart」をクリックします。
Dockerの設定画面を出します。
マウントするディレクトリを指定します。
  1. Windows PowerShellなどのターミナルを開き、以下のコマンドを実行してインストールを行います。
cd C:\elabftw    # 「docker-compose.yml」を保存した場所を指定します
docker-compose up -d
docker exec -it elabftw bin/install start
インストールが完了しました!
  1. https://localhost/register.php からアカウントを作成します。
    • セキュリティのエラーが出るかもしれませんが、自分で作ったローカル環境なのでそのまま実行してかまいません。
  1. https://localhost/login.php からeLabFTWにログインします。

これで以下のような画面になれば、晴れてeLabFTWデビューです!

追加の設定を行う

以上までで最低限eLabFTWを動作させて使うことはできるのですが、余裕があれば以下の設定も行っておきましょう。

メール送信サーバーの設定

eLabFTWの一番下のSYSADMIN PANELからシステム管理者用設定画面を開くと下のような警告が表示される場合は、メール送信サーバーの設定が完了していません。

この場合はパスワードのリセットなどができなくなる場合があるようです。早めに以下の記事を参考にしてメール送信サーバーの設定を行っておいてください。

タイムゾーンの変更

デフォルトではタイムゾーンが「Europe/Paris」になっています。タイムスタンプなどに不都合を生じる可能性がありますので、「Asia/Tokyo」に直しておきましょう。以下の記事を参考にタイムゾーンの変更も行っておいてください。

おわりに

eLabFTWは機能的には必要最低限といったところで、「ものすごく使いやすい」とまではいかないかもしれませんが、実験ノートに必要な改ざん防止などの要件は満たしており、なんといってもラボにとっては魂とも呼べる大切な実験データを自分たちで管理できる点に一番の強みがあります。商用のクラウド電子ラボノートサービスも魅力的ですが、eLabFTWのオープンソースの発展性も捨てがたいところですね。

ローカル環境で使ってみて気に入ったら、サーバーやクラウド上での運用にも挑戦してみましょう!

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)