📦 GitHub Repository: https://github.com/reservebtc/nightscout-professional-server
═══════════════════════════════════════════════════════════════════
What it does: Allows you to log treatment events (boluses, carbs, site changes)
Enable:
ENABLE: "careportal"Usage:
- Via web interface: "+" (plus) button
- You can log: boluses, carbs, sensor/site changes, measurements
Integration with your app: Data from Loop automatically appears in Care Portal
What it does: Shows active insulin in your body
Enable:
ENABLE: "iob"Profile settings:
DIA: "5" # Duration of Insulin Action (3-6 hours)
ISF: "50" # Insulin Sensitivity Factor (mg/dl per 1 unit)What it shows:
- How much insulin is still active
- BG prediction graph considering IOB
- Used by other plugins (BWP, OpenAPS)
In your app:
- Displayed on iPhone main screen
- Syncs with Loop
What it does: Shows unabsorbed carbohydrates
Enable:
ENABLE: "cob"Configuration:
CARBS_HR: "30" # Absorption rate (g/hour)
IC: "10" # Insulin to Carb ratio (g per 1 unit)What it shows:
- How many carbs are still being absorbed
- Impact on BG
- Time to full absorption
What it does: Bolus calculation assistant (NOT a replacement for medical advice!)
Enable:
ENABLE: "bwp"Settings:
BWP_WARN: "0.50" # Warning if bolus needed >0.5U
BWP_URGENT: "1.00" # Critical alert >1U
BWP_SNOOZE_MINS: "10" # Snooze for 10 min if enough IOB
BWP_SNOOZE: "0.10" # IOB threshold for snoozeIMPORTANT: This is only a suggestion! You make the decisions!
What it does: Shows raw CGM data (before calibration)
Enable:
ENABLE: "rawbg"
SHOW_RAWBG: "always" # Always showWhy needed:
- See sensor noise
- Evaluate calibration accuracy
- Debug CGM issues
What it does: Shows BG change over the last 5 minutes
Enable:
ENABLE: "delta"What it shows:
- ▲ +15 - rapid rise
- ▼ -8 - rapid fall
- Helps assess trends
What it does: Arrow indicating BG change direction
Enable:
ENABLE: "direction"Arrows:
- ⇈ DoubleUp - very rapid rise
- ↑ SingleUp - rapid rise
- ↗ FortyFiveUp - slow rise
- → Flat - stable
- ↘ FortyFiveDown - slow fall
- ↓ SingleDown - rapid fall
- ⇊ DoubleDown - very rapid fall
═══════════════════════════════════════════════════════════════════
What it does: Closed loop monitoring (Loop, iAPS)
Enable:
ENABLE: "loop"
LOOP_ENABLE_ALERTS: "true"
LOOP_WARN: "30" # Warning if loop inactive for 30 min
LOOP_URGENT: "60" # Critical alert after 60 minWhat it shows:
- Loop status (running/stopped)
- Reason for stopping
- Last cycle
- Loop recommendations
Notifications:
- 🟢 Loop running
- 🟡 Loop stopped >30 min
- 🔴 Loop stopped >60 min
What it does: OpenAPS/AndroidAPS support
Enable:
ENABLE: "openaps"
OPENAPS_ENABLE_ALERTS: "true"
OPENAPS_WARN: "30"
OPENAPS_URGENT: "60"
OPENAPS_FIELDS: "status-symbol status-label iob meal-assist rssi"Fields:
status-symbol- status iconstatus-label- text statusiob- insulin on boardmeal-assist- meal assistancerssi- signal quality
What it does: Insulin pump monitoring
Enable:
ENABLE: "pump"
PUMP_ENABLE_ALERTS: "true"Alarm thresholds:
PUMP_WARN_CLOCK: "30" # Pump offline 30 min
PUMP_URGENT_CLOCK: "60" # Critical: 60 min
PUMP_WARN_RES: "50" # Warning: 50 units remaining
PUMP_URGENT_RES: "10" # Critical: 10 units
PUMP_WARN_BATT_P: "30" # Battery 30%
PUMP_URGENT_BATT_P: "20" # Battery 20%What it shows:
- Connection status
- Insulin remaining
- Battery charge
- Last contact
═══════════════════════════════════════════════════════════════════
What it does: Tracks CGM sensor age
Enable:
ENABLE: "sage"
SAGE_ENABLE_ALERTS: "true"Settings:
SAGE_INFO: "144" # Info: 6 days (144 hours)
SAGE_WARN: "168" # Warning: 7 days
SAGE_URGENT: "192" # Urgent: 8 days (time to change!)How it works:
- Counts from "Sensor Start" event in Care Portal
- Shows how many days/hours sensor has been active
- Notifies when it's time to change
What it does: Catheter/cannula age
Enable:
ENABLE: "cage"
CAGE_ENABLE_ALERTS: "true"Settings:
CAGE_INFO: "48" # Info: 2 days
CAGE_WARN: "72" # Warning: 3 days
CAGE_URGENT: "96" # Urgent: 4 days (time to change!)Care Portal event:
- "Site Change" - catheter replacement
What it does: Age of insulin in pump
Enable:
ENABLE: "iage"
IAGE_ENABLE_ALERTS: "true"Settings:
IAGE_INFO: "168" # Info: 7 days
IAGE_WARN: "336" # Warning: 14 days
IAGE_URGENT: "504" # Urgent: 21 daysIMPORTANT: Insulin degrades! Change on time!
What it does: Pump battery age
Enable:
ENABLE: "bage"
BAGE_ENABLE_ALERTS: "true"Settings:
BAGE_INFO: "168" # Info: 7 days
BAGE_WARN: "336" # Warning: 14 days
BAGE_URGENT: "504" # Urgent: 21 days═══════════════════════════════════════════════════════════════════
What it does: Food database
Enable:
ENABLE: "food"Usage:
- Open in browser:
https://YOUR_URL/food - Add foods with carb counts
- Use in Care Portal when logging meals
Example entry:
- Name: "Medium Apple"
- Carbs: 15g
- Category: "Fruits"
What it does: Therapy profile (treatment settings)
Enable:
ENABLE: "profile"What it stores:
- DIA (Duration of Insulin Action)
- IC (Insulin to Carb ratio)
- ISF (Insulin Sensitivity Factor)
- BG target values
- Basal profiles (if using)
Editing:
- Via web: Settings → Profile Editor
- Can create multiple profiles
- Time zone support
What it does: Displays basal insulin
Enable:
ENABLE: "basal"What it shows:
- Basal rate graph
- Temporary basals (temp basal)
- Changes from Loop/OpenAPS
What it does: Bolus calculator
Enable:
ENABLE: "boluscalc"Uses:
- Current BG
- Target BG
- IOB
- COB
- IC, ISF from profile
IMPORTANT: Assistant only! Not automatic!
═══════════════════════════════════════════════════════════════════
What it does: Sends push notifications to phone
Enable:
ENABLE: "pushover"
PUSHOVER_API_TOKEN: "your_token"
PUSHOVER_USER_KEY: "your_key"Getting tokens:
- Register at https://pushover.net/
- Create application
- Copy API Token and User Key
What it sends:
- Low/high BG alarms
- Pump notifications
- Replacement reminders
What it does: Notifications about logged treatments
Enable:
ENABLE: "treatmentnotify"
TREATMENTNOTIFY_SNOOZE_MINS: "10"How it works:
- When bolus logged via Care Portal → notification
- Automatically snoozes alarms for 10 min (there's IOB)
What it does: IFTTT integration (automation)
Enable:
ENABLE: "maker"
MAKER_KEY: "your_key"Automation examples:
- BG < 70 → turn on red light
- BG > 180 → send SMS
- Low insulin → Telegram notification
Getting key: https://ifttt.com/maker_webhooks
═══════════════════════════════════════════════════════════════════
What it does: Gets data from Dexcom Share
Enable:
ENABLE: "bridge"
BRIDGE_USER_NAME: "your_dexcom_username"
BRIDGE_PASSWORD: "your_password"
BRIDGE_SERVER: "EU" # or "US"
BRIDGE_MAX_COUNT: "1"
BRIDGE_MINUTES: "1440"When to use:
- You have Dexcom G6/G7
- Want to get data directly from Dexcom cloud
- Alternative to xDrip
What it does: Connects to Medtronic pumps via CareLink
Enable:
ENABLE: "mmconnect"
MMCONNECT_USER_NAME: "carelink_username"
MMCONNECT_PASSWORD: "password"
MMCONNECT_INTERVAL: "60000" # 1 minute
MMCONNECT_SGV_LIMIT: "24"For pumps:
- Medtronic 530G, 630G, 640G, 670G
- Requires CareLink account
═══════════════════════════════════════════════════════════════════
What it does: Shows database size
Enable:
ENABLE: "dbsize"Why:
- Monitor MongoDB filling
- Warning when reaching limit
- Especially important for free accounts
What it does: Allows requests from other domains
Enable:
ENABLE: "cors"
CORS_ALLOW_ORIGIN: "*" # All domainsWhy:
- For mobile app functionality
- For widgets
- For third-party integrations
What it does: Shows uploader phone battery
Enable:
ENABLE: "upbat"What it shows:
- xDrip phone battery charge
- Warning on low battery
What it does: Shows how many minutes since last update
Enable:
ENABLE: "timeago"Alarms:
ALARM_TIMEAGO_URGENT: "on"
ALARM_TIMEAGO_WARN: "on"
ALARM_TIMEAGO_URGENT_MINS: "15" # Critical: 15 min
ALARM_TIMEAGO_WARN_MINS: "10" # Warning: 10 min═══════════════════════════════════════════════════════════════════
What it does: Voice announcements of values
Enable:
ENABLE: "speech"
LANGUAGE: "en"What it announces:
- Current BG
- Direction
- IOB
- Alarms
What it does: Amazon Alexa integration
Enable:
ENABLE: "alexa"Commands:
- "Alexa, ask Nightscout what is my blood sugar"
- "Alexa, ask Nightscout what is my blood glucose"
What it does: BG forecasting
Enable:
ENABLE: "ar2"What it does:
- Predicts BG 30-60 minutes ahead
- Uses statistical methods
- Shows prediction line on graph
What it does: Simple alarms (basic thresholds)
Enable:
ENABLE: "simplealarms"Settings:
BG_LOW: "70"
BG_HIGH: "180"
ALARM_URGENT_LOW: "on"
ALARM_LOW: "on"
ALARM_HIGH: "on"
ALARM_URGENT_HIGH: "on"═══════════════════════════════════════════════════════════════════
ENABLE: "careportal rawbg iob cob delta direction timeago"ENABLE: "careportal rawbg iob cob loop pump profile basal delta direction"ENABLE: "careportal basal dbsize rawbg iob maker bridge cob bwp cage iage sage boluscalc pushover treatmentnotify mmconnect loop pump profile food openaps bage alexa override cors delta direction timeago devicestatus upbat errorcodes ar2 simplealarms speech"💡 Tip: Start with MAXIMUM set, then disable what you don't need.
═══════════════════════════════════════════════════════════════════
- IOB/COB - already displayed in your data manager
- Pump Status - via device status endpoint
- Treatments - via treatments endpoint
- Profile - configured in Nightscout, used for calculations
// Latest glucose entries
GET /api/v1/entries.json?count=24
// Treatments (boluses, carbs)
GET /api/v1/treatments.json
// Device status (pump)
GET /api/v1/devicestatus.json
// Profile (settings)
GET /api/v1/profile.json
// Status (connection check)
GET /api/v1/status.json═══════════════════════════════════════════════════════════════════
Official documentation: https://nightscout.github.io/
GitHub: https://github.com/nightscout/cgm-remote-monitor
Community:
- Facebook: CGM in the Cloud
- Discord: Nightscout Discord
This Repository:
- Main Page: https://github.com/reservebtc/nightscout-professional-server
- Installation Guide: https://github.com/reservebtc/nightscout-professional-server/blob/main/INSTALLATION_GUIDE.md
- Summary: https://github.com/reservebtc/nightscout-professional-server/blob/main/SUMMARY.md
Your config is already set to MAXIMUM! 🎉 All plugins enabled in docker-compose.yml