Sign inSign up

nightscoutarm/raspberry

By nightscoutarm

Updated almost 6 years ago

Image
0

34

nightscoutarm/raspberry repository overview

Image for running Nightscout 14 CGM aplication on Raspberry Pi 3, ARM7 architecture.

Installation

  1. create script file: /home/pi/run_nightscout.sh
#!/bin/bash
DOCKER_IMAGE='nightscoutarm/raspberry:nightscout-14.0.6'
DOCKER_NETWORK='nightscout'

case "$1" in
    start)
        logger "Starting Nightscout service... ${DOCKER_IMAGE}"

        docker network create "${DOCKER_NETWORK}" || true

        docker run \
        -e 'MONGO_CONNECTION=mongodb+srv://your_user:your_password@_your_db.eteye.mongodb.net/_your_db?retryWrites=true&w=majority' \
        -e 'DEVICESTATUS_ADVANCED=true' \
        -e 'mongo_collection=CGM' \
        -e 'BASAL_RENDER=default' \
        -e 'CAGE_ENABLE_ALERTS=true' \
        -e 'CAGE_INFO=65' \
        -e 'CAGE_URGENT=75' \
        -e 'CAGE_WARN=60' \
        -e 'DEVICESTATUS_ADVANCED=true' \
        -e 'ENABLE=careportal%20rawbg%20iob%20maker%20bridge%20cob%20cage%20sage%20basal%20devicestatus%20pump%20openaps' \
        -e 'LANGUAGE=en' \
        -e 'OPENAPS_ENABLE_ALERTS=true' \
        -e 'OPENAPS_FIELDS=status-symbol%20status-label%20iob%20meal-assist%20rssi' \
        -e 'OPENAPS_RETRO_FIELDS=status-symbol%20status-label%20iob%20meal-assist%20rssi' \
        -e 'OPENAPS_URGENT=60' \
        -e 'OPENAPS_WARN=20' \
        -e 'PUMP_ENABLE_ALERTS=true' \
        -e 'PUMP_FIELDS=battery%20reservoir%20clock%20status' \
        -e 'PUMP_RETRO_FIELDS=battery%20reservoir%20clock%20status' \
        -e 'PUMP_WARN_BATT_V=1.18' \
        -e 'PUMP_URGENT_BATT_V=1.17' \
        -e 'PUMP_URGENT_CLOCK=30' \
        -e 'PUMP_URGENT_RES=20' \
        -e 'SAGE_ENABLE_ALERTS=true' \
        -e 'SAGE_INFO=300' \
        -e 'SAGE_URGENT=336' \
        -e 'SAGE_WARN=312' \
        -e 'SHOW_FORECAST=openaps' \
        -e 'SHOW_PLUGINS=openaps%20pump%20iob%20sage%20cage%20careportal' \
        -e 'THEME=colors' \
        -e 'TIME_FORMAT=24' \
        -e 'API_SECRET=your_api_secret' \
        -e 'show_rawBG=always' \
        -e 'INSECURE_USE_HTTP=true' \
        --log-driver none \
        --network="${DOCKER_NETWORK}" \
        --name "${DOCKER_NETWORK}" \
        -p 1337:1337 \
        "${DOCKER_IMAGE}" >/dev/null
    ;;
    stop)
        logger "Stopping Nightscout service... ${DOCKER_IMAGE}"
        docker stop $(docker ps -a|grep "${DOCKER_IMAGE}"|cut -f 1 -d ' ')
        docker rm $(docker ps -a|grep "${DOCKER_IMAGE}"|cut -f 1 -d ' ')
        docker network rm "${DOCKER_NETWORK}" || true
    ;;
    status)
        ret=0
        docker ps |grep "${DOCKER_IMAGE}" 2>/dev/null || ret=$?
        exit $ret
    ;;

esac

  1. Create systemd service file:
[Unit]
Description=NS service
After=network.target docker.service
StartLimitIntervalSec=0

[Service]
Type=simple
User=pi
Restart=always
TimeoutStartSec=0
ExecStart=/home/pi/run_nightscout.sh start
ExecStop=/home/pi/run_nightscout.sh stop

[Install]
WantedBy=multi-user.target

Dockerfile used to build this image:

FROM arm32v7/node:lts-alpine3.12
COPY qemu-arm-static /usr/bin/qemu-arm-static
MAINTAINER Tomek Stachowicz [email protected]

USER root
ENV APP_DIR=/opt/app
ENV USER=nightscout
ENV UID=12553

WORKDIR "$APP_DIR"

RUN apk add --update git \
 && rm /var/cache/apk/* \
 && git clone git://github.com/nightscout/cgm-remote-monitor.git "$APP_DIR" \
 && git checkout master \
 && npm install \
 && npm run postinstall \
 && npm run env

RUN addgroup \
    --gid "$UID" \
    "$USER" \
 && adduser \
    --disabled-password \
    --gecos "" \
    --home "$JAVA_APP_DIR" \
    --ingroup "$USER" \
    --no-create-home \
    --uid "$UID" \
    "$USER"

USER $USER
EXPOSE 1337
CMD ["node", "server.js"]

Tag summary

Content type

Image

Digest

Size

133.3 MB

Last updated

almost 6 years ago

docker pull nightscoutarm/raspberry:nightscout-14.0.6