ゴール
無料&オープンソースで食料の在庫から家事分担まで家庭のことがすべて管理できる本格的なERPシステム「grocy」を起動させること
https://gigazine.net/news/20200328-grocy/
制約条件
・手元にあるのはwindowsPC(エディション Windows 10 Home)
・webサーバー編のDockerを用いた方法で動作させること
検証した方法
1.windowsにDockerを入れる方法 ★失敗
2.EC2でLinuxインスタンスを立てて入れる方法 ★失敗
3.EC2でubuntuインスタンスを立てて入れる方法 ★失敗
4.rasberryPIでOSがLINUXのサーバを立てて入れる方法 ★成功
1.windowsにDockerを入れる方法
->どうやらimageファイルのホストOSがLINUXを想定しているため動かない
そもそもHyper-Xの機能が搭載していないと動かない様子
エディションがwindows 10 Homeのパソコンでは載せられなかった模様
windows 10 Homeで機能を再現するならdocker Toolboxがある様子
ただしこれは終了している(?)ようでdocker公式のHPからexeファイルを取得することはできなかった。
2.EC2でLinuxインスタンスを立てて入れる方法
Amazon Linux AMI 2018.03.0 のインスタンスをたてて、動かそうとした。デスクトップの画面が表示できなかったため断念(当初は必要と思っていた。よくよく考えればterminalから接続できて、IPさえ取得できれば要らなかった)
3.EC2でubuntuインスタンスを立てて入れる方法
それならばと
Ubuntu Server 18.04LTSのインスタンスを立てた。
以下サイトを参考にしてデスクトップのログイン環境を整えた。
リモートにはxrdpのパッケージを利用した。
当初無料枠のt2.microを利用していたが、デスクトップが重くほぼ動かなかったのでt2.largeに変更。メモリが8GBくらいになる。
料金的にも消し忘れなければ、0.0928USD/時間くらいで済みそうとの判断。
▼EC2料金表
https://aws.amazon.com/jp/ec2/pricing/on-demand/
接続にはwindows terminalを使用
▼windwos terminalのインストール方法
https://qiita.com/rubytomato@github/items/e88cab84f36e44797cf2
接続には以下コマンドを利用する
ssh -i {pemファイルパス} ubuntu@{IP}
またしてもdocker-compose pullでこける
エラーの検証には以下コマンドが便利
systemctl status docker
docker ps
普通に権限不足だった。以下で解決
https://qiita.com/ashidaka/items/734856443f922ff175b1
docker-compose up -dを実行
docker-compose psでコンテナが動いていることを確認
ここでまたしても問題発生。IP指定してもGROCYの画面がでてこない。
AWSが複雑にしている様子。
IPの指定かセキュリティグループとか色々弄らないとだめなのかしら...
4.rasberryPIでOSがLINUXのサーバを立てて入れる方法
最終手段としてrasberryPIを使ってLINUXでサーバーを立ち上げることに
幸いパーツは手元にあったのでつないでmicoSDにLINUXの必要なファイルをコピーして起動
初期環境設定として以下を対応
・インストール
https://pen08.com/raspberry_pi_os_install
・環境の最新化
https://yukaobu.wordpress.com/2017/05/01/raspi-update/
・日本語化
https://www.ratocsystems.com/products/triple_r/blog/?x=entry:entry180330-152029
・rootユーザーの設定(パスワード設定)
http://masatolan.com/raspberry-pi/raspberry-pi-security/
続いてdockerとdocker-compose、gitをインストール。
権限付与も忘れずに実行。
・docker、docker-composeのインストール手順
https://qiita.com/hawk777/items/467ea47377e69089de5b
・gitのインストール手順
https://www.webprofessional.jp/setting-up-your-raspberry-pi-as-a-git-server/
exec format error がでてdocker-compose up が正常に終了しない
どうやらこの時点ではイメージの作成が完了していないため、一度ビルドする必要があるらしい。
docker-compose.ymlのファイルがあるフォルダで以下コマンドを実行する。
docker-compose build
動いた...!!
ちなみに参考までにRasberryPIのLINUXのアーキテクチャーはARMを使っているらしい。
DockerHubからイメージを取得してrunするときはarm対応のものでないとまたexec format errorに遭遇することになる....