見出し画像

糖尿病管理Nightscoutを自宅サーバ立上げ


Nightscout

糖尿病管理サーバ Nightscoutというのがあります。世界的ボランティア団体で開発されているサーバソフトです。このサーバ自体はよくできていて血糖値管理ではこれ一択です。さらに子供さんの血糖値管理を親が代わりにできたりします。
いろんなクラウド型のサーバを使えますが、以前は無料で使えたのが残念ながら有料になってしまいました。ここに詳しく掲載されています。

私は一時googleのクラウドサービスを利用して立ち上げてみたのですが、クレカ登録が強制で、無料枠で使ってもgoogleのことだからいつ有料にあるか不安で自宅内のraspberry-piで立ち上げました。
参考にさせていただいたのはR.Y.OさんのNOTEです。ここでいろいろ参考にさせてもらいました。当然私はお金がないんで、自宅でアマチュア無線用のAPRSを立ち上げてるraspberry-pi上で構築しました。立ち上げるにあたってちょっと苦労しました。

まずはdocker上で構築するらしいんですがdockerいうものの知識がなったくない。いろいろネット上で情報はあるんですが、まずその勉強から始めました。
dockerのインストール方法はいろんな情報がありすぎて大変でした。上記のR.Y.OさんのNOTEでも構築方法を書いてくれているんですが、残念ながらうちのraspberry-piのdockerのdocker-compose.ymlではエラーがでて動きませんでした。
R.Y.Oさんのdocker-compose.ymlは、blokkerとかmongo-expressとか上がっていたので、それを削除して最小限にしてもサーバ自体は立ち上がるのですが、アクセスするとブラウザのセキュリティ関係のエラーで見られないのです。
INSECURE_USE_HTTP: trueにしているのでhtppsではなくても接続できるはずなんですが、おそらくdockerのインストールかなんかが間違っていたんだと思います。

ずいぶん試行錯誤しましたが、結局ここのサイトどおりにインストールすると動きました。
ドイツ語のサイトですが日本語翻訳でなんとかなるでしょう。便利になったもんです。このサイトではUbuntu Server 22.04.1 LTSが推薦されていますが、普通に最新の64bitのbookwormで動きました。
dockerのインストールは簡単で下記のスクリプト一発です。
curl https://get.docker.com/ | sh

なんとか立ち上がったのですが、一番苦労したのがNightscoutは基本的には、htpps接続になるんです。プライバシーだから当然なんですけどね。家のWIFI経由でスマホからUPLOADするだけで、ローカルLANで立ち上げてるし、外部から接続することないんでhttppsは必要ないんです。
いろいろローカルサーバでのhttppsはいろんな情報があるんですけど、リバースプロキシでNginxを立ち上げたりやってはみたものの、ドメイン関連とかいろいろ面倒で断念しました。

うちのdocker-compose.ymlは上記ドイツ語のサイトとほとんど同じで下記のとおりです。なお下記のをコピペしないでください。docker-compose.ymlは
インシデントが重要なんで上記ドイツ語のをコピペしてくだださい。

services:
    nightscout:
     image: markxoe/nightscout-cgm-remote-monitor-raspberrypi:latest         environment:TZ: Japan/Tokyo
             MONGO_CONNECTION:
       mongodb://mongo:27017/nightscout
            API_SECRET: xxxxxxxxxxxx (12文字以上)
             BG_HIGH: 250
             BG_LOW: 70
             BG_TARGET_TOP: 180 
             BG_TARGET_BOTTOM: 80             INSECURE_USE_HTTP: true          #AUTH_DEFAULT_ROLES: denied 
          ENABLE: delta direction rawbg dbsize
     ports:       - 1337:1337
     links:       - mongo     restart: always

唯一の変更はTZとAPI_SECRETです。API_SERCRETは最初にログインするときとデータをuploadするので必要です。12文字にする必要があります。
あとはhttp://raspberry-piのip:1337/で簡単に接続できました。
と簡単に書いてますが、結構苦労しました。まあ上記のサイトを見つけるまでの苦労ですけど  (笑)

さて入れ物はできたのでこのあとはサーバにuploadするための準備です。
家の中のwifi経由なんで外出時はどうするか、という問題があります。
本当は外部サーバで立ち上げるのが一番いいんでしょうけど、自分なりにいろいろいじりたくてこれにしました。自宅サーバなんていってもraspberry-pi4ならば1万円足らずですし、電気代も月に300円ぐらいですみます。

この記事が気に入ったらサポートをしてみませんか?