FreeStyleリブレでリアルタイム記録 (4) / Nightscout を自宅サーバーで構築
自宅サーバーに Nightscout を構築する手順を書いておきます。
環境
OS : Debian 12
コンテナツール : Docker
今回は Docker コンテナ上に実行環境を構築しますので、Docker がインストールされていることが前提です。
OS は Debian 12 ですが、Docker が動作すればなんでも (Windows, Macでも) 構いません。
手順
下記の docker-compose.yml を作成し、$ docker compose up -d するだけ。
docker-compose.yml ファイル
services:
broker:
image: 'prologic/mosquitto:latest'
ports:
- '11883:1883'
mongo:
image: 'mongo'
volumes:
- mongo_db:/data/db
- ./configdb:/data/configdb
ports:
- 27017:27017
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_SERVER: mongo
ME_CONFIG_BASICAUTH_USERNAME: mongo
ME_CONFIG_BASICAUTH_PASSWORD: mongopass
depends_on:
- mongo
volumes:
- mongo_db:/data/db
nightscout:
image: 'nightscout/cgm-remote-monitor:latest'
restart: always
environment:
API_SECRET: {{--Your API SECRET--}}
ENABLE: careportal rawbg iob dbsize
MONGO_CONNECTION: mongodb://mongo:27017
MQTT_MONITOR: mqtt://ns@broker:11883
DEVICESTATUS_ADVANCED: True
INSECURE_USE_HTTP: True
PORT: 1337
depends_on:
- broker
- mongo
ports:
- 1337:1337
volumes:
mongo_db:
docker-compose.yml の説明
broker セクション
MQTT ブローカー mosquitto。
分の場合はグルコース値を MQTT 経由で他システムで利用するため、MQTT ブローカーをインストールしていますが、通常は不要です。
ポートについては、他システムで MQTT ブローカーが稼働しているので、規定の 1883 から変更しています。
mongo セクション
Nightscout のデータを保存するための Database。
https://www.mongodb.com/ja-jp
mongo-express セクション
MongoDB の WebUI ツール。
データの確認を容易にしたいためインストールしていますが、なくてもOKです。
nightscout セクション
environment ブロック。
詳細説明は公式ページを参照してください。
API_SECRET: {{--Your API SECRET--}}
パスワードのようなものでスマホの設定で使用。
必ず12文字以上で。
ENABLE: careportal rawbg iob dbsize
有効化する Plugin をスペースで区切って羅列。
デフォルトでは timeago, upbat, direction, delta が有効。
(図)
carepotal : トリートメントを入力するためのフォーム。
rawbg (Raw BG) : 代替の BG 値とノイズレベルを表示。
iob (Insulin-on-Board) : IOB を表示。
dbsize (Database Size) : データベースの残容量を表示。
https://nightscout.github.io/nightscout/setup_variables/#plugins
MQTT_MONITOR: mqtt://ns@broker:11883
MQTT にパブリッシュするための設定。
MQTT を利用しない場合は不要。
DEVICESTATUS_ADVANCED: True
スマホとブリッジ (MiaoMiao) のバッテリー残量を表示。
INSECURE_USE_HTTP: True
SSL を使用しない通常の http でアクセス可能にする。
自分は自宅サーバーで外部からアクセスしないため True にしているが、通常は非推奨。
参考
この記事が気に入ったらサポートをしてみませんか?