はじめに
紙で実験ノート整備すると事後の管理が非常に面倒です。検索はできない、どこに行ったかわからなくなる、過去の研究データを探すことができなくなるなど問題だらけ。電子版実験ノートを用意すればデータの保管や検索は容易になりますが、市販のソフトウェアを購入するにもコストがかかる。
そこで、無料・オープンソースの電子実験ノートeLabFTWとRaspberry Piを用いて、低コスト(1万円くらい)で実験ノート環境を整備したので、備忘録がてら共有する。
あくまで私がやったことを書いておくので、参照は自己責任で。
本記事はRaspberry Piを触ったことがない初心者でもトライできることを目指して書いてみます。
用意するもの
・Raspberry Pi4 4GB版
・SDカード(32 GB以上推奨。画像等も保存することを考えると、256GBや512GBを使用するのも良い)
実装手順
- Raspberry PiへのOSインストール
- Docker環境の構築
- eLabFTWのインストールと実行
- eLabFTWの初期設定
- eLabFTWの改造
Let's Try!
1.Raspberry PiへのOSインストール
1.1 公式サイトからOSイメージをダウンロードする
記事執筆時点のImagerのversionは1.8.5であった。WindowsPCに管理者権限でインストールした。
1.2 Operating Systemは"Raspberry Pi OS 64-bit"を選択。SSH接続をEnableにしてSDカードにOSを書き込んだ。
1.3 書き込んだSDカードをRaspberry Piに挿入し起動。このとき、Raspberry Piは有線LAN接続しておいた。Raspberry PiのIPアドレスを確認し、SSHの設定を実施。(証明書が面倒なのでPWにした。)
1.4 手元のWindows PC (VS Code)経由でRaspberry PiにSSH接続できることを確認した。
2. 推奨環境の構築
基本的にはeLabFTWの公式HPに従ってインストールすれば良い。Raspberry PiのOSアップデートやapt, apt-getのアップデートは済ませておく。
2.1 依存関係パッケージのインストール
eLabFTW公式ページにStrongly recommended dependenciesとして上がっているパッケージをインストールする。
sudo apt update
sudo apt-get update
sudo apt install curl dialog borgbackup #curl dialog borgbackupのインストール
2.2 Docker環境の構築
Docker公式ページに従ってDocker環境を構築する
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo apt-get install docker-compose-plugin #docker compose pluginのインストール
docker-compose-pluginのバージョンに注意。うっかりv1.x.xをインストールすると、eLabが動作しない。
3. eLabFTWのインストールと実行
パッケージのDLとインストール
公式HP記載の通りに実施する。
curl -sL https://get.elabftw.net -o elabctl && chmod +x elabctl
sudo mv elabctl /usr/local/bin/
elabctl install
イントラで使う分には、オレオレ証明書で良い。
YAMLの書き換え
-
タイムゾーンを規定している場所が3ヶ所あるので
PHP_TIMEZONE=Asia/Tokyo
TZ=Asia/Tokyo (これが2ヶ所ある)
と書き換える -
URLの書き換え
SITE_URL=https://raspberrypi.local
などにする。RaspberryPiの設定にあわせる。
elabFTWの起動
sudo elabctl start # elabFTW, MySQLコンテナのビルド
sudo elabctl initialize # MySQLの初期化
これで起動準備完了。https://raspberrypi.localで起動できるはず。