Nightscout con Azure e MongoDB Atlas
Questa guida spiega come creare un nuovo sito Nightscout su Microsoft Azure con database MongoDB Atlas, oppure come migrare da Heroku.
Ispirata al tutorial originale di Scott Hanselman: https://www.youtube.com/watch?v=EDADrteGBnY
Usa un computer (non uno smartphone) durante tutta la procedura. Non cambiare browser o dispositivo. Se hai problemi con un browser, provane un altro.
Per maggiori informazioni su Nightscout: https://nightscout.github.io/
ℹ️ Nota: Azure richiede una carta di credito, ma il piano gratuito non comporta addebiti per Nightscout. MongoDB Atlas è gratuito per database di piccole dimensioni.
1. Crea il database Atlas
ℹ️ Nota: Se stai migrando da Heroku e hai già un database Atlas, vai direttamente alla sezione 5.
- Vai su
https://www.mongodb.com/cloud/atlase clicca Get started now.

- Inserisci email e una nuova password (da usare solo per Atlas) → Continue.
- Compila nome, cognome, seleziona Other e accetta i termini → Create Account.

- Controlla la mail e clicca Verify Email.

Si aprirà una pagina nel browser che conferma la verifica:

Premi Continue per procedere:

- Seleziona le opzioni richieste e clicca Finish.

- Seleziona Create a cluster in Shared Clusters (FREE).

⚠️ Attenzione: Se vedi una richiesta di dati di fatturazione, hai selezionato il tipo sbagliato di cluster. Torna indietro e scegli il cluster gratuito.

- Lascia tutti i valori predefiniti e clicca Create Cluster (ci vorrà qualche minuto).

- Aggiungi un utente database: scegli un nome utente (es.
nightscout) e una password (solo lettere e numeri, no spazi o caratteri speciali). Annota nome utente e password. Clicca Create User.

- Seleziona My Local Environment e nel campo IP Address inserisci
0.0.0.0/0(attenzione: sono zeri, non la lettera O).

- Clicca Add Entry → Finish and Close → Go to Database.

Vedrai il messaggio di conferma delle regole di accesso appena create:

- Aspetta la creazione del cluster (può richiedere più di 3 minuti): finché è in corso, il pulsante di connessione resta disattivato.

Quando il cluster è pronto (pallino verde), clicca Connect:

Poi scegli Connect your application:

- Lascia il driver Node.js selezionato e clicca Copy per copiare la stringa di collegamento.

Incollala in un editor di testo (Blocco Note): la userai tra poco per costruire la tua MONGODB_URI.

Crea la stringa MONGODB_URI
La stringa ha questo formato:
mongodb+srv://nightscout:<password>@cluster0.xxxxx.mongodb.net/?retryWrites=true&w=majoritySostituisci <password> con la password che hai scelto. Il risultato finale (senza < e >):
mongodb+srv://nightscout:mia_password@cluster0.xxxxx.mongodb.net/?retryWrites=true&w=majorityConserva questa stringa: si chiama MONGODB_URI.
2. Crea l'App Web Azure
- Vai su
https://azure.microsoft.com/it-it/free/search/e clicca Inizia gratuitamente.

- Accedi con un account Microsoft (se non ne hai uno, creane uno).

Compila il profilo utente con paese, nome, cognome ed email:

Verifica il numero di telefono via SMS, inserendo il codice ricevuto:

- Accetta il contratto e premi Avanti:

Inserisci una carta di credito per la verifica dell'identità (non comporta addebiti senza il tuo consenso):

Conferma il paese/area geografica e premi Iscriviti:

ℹ️ Nota: Se hai già un account gratuito Azure e non puoi crearne un secondo, puoi iscriverti a un piano a consumo (pay-as-you-go) — Nightscout usa solo risorse gratuite, quindi il costo è zero. In tal caso vedrai il messaggio Non si è idonei per un account Azure gratuito: scegli l'iscrizione con pagamento in base al consumo.

Accetta di nuovo il contratto per il piano a consumo:

E scegli Nessun supporto tecnico prima di premere Iscriviti:

- Clicca sul menu Azure → Crea una risorsa.

Poi cerca App Web e clicca Crea:

- Compila le informazioni:
- Sottoscrizione: seleziona il tuo account gratuito (o di base).
- Gruppo di risorse: clicca Crea Nuovo, chiamalo
Nightscout, clicca OK.

- Nome: il nome del tuo sito Nightscout (solo lettere minuscole, numeri e
-). Verifica che la spunta verde appaia a destra.

- Pubblica: seleziona Contenitore Docker con Linux.
- Area geografica: scegli un'area vicina a dove abiti.

- IMPORTANTE — Seleziona il piano gratuito: Clicca Modifica dimensioni (a fianco del piano proposto):

Scegli Sviluppo/test → F1: gratuito → Applica.

Verifica che il riquadro mostri Gratuito F1, poi premi Avanti: Docker >.

- In Origine immagine, seleziona Docker Hub. In Immagine e tag scrivi:
nightscout/cgm-remote-monitor:latest

- Clicca Rivedi e crea → verifica le informazioni → Crea.

- Aspetta il completamento della distribuzione...

...e quando è completata, clicca Vai alla risorsa.

Aggiungi le variabili di configurazione
- Nel menu di sinistra, clicca Configurazione.

Poi clicca + Nuova impostazione applicazione:

Aggiungi le seguenti variabili una alla volta (nome + valore → OK). Ecco ad esempio API_SECRET:

| Nome | Valore |
|---|---|
API_SECRET | La tua password Nightscout (minimo 12 caratteri, no spazi, no @, no !) |
DISPLAY_UNITS | mg/dl |
MONGODB_URI | La stringa generata al passo 1 |
ENABLE | dbsize pump iob cob basal careportal sage cage bage |
Se usi Dexcom Share come sorgente, aggiungi anche BRIDGE_PASSWORD, BRIDGE_SERVER e BRIDGE_USER_NAME:

E aggiungi bridge alla variabile ENABLE:
dbsize pump iob cob basal careportal sage cage bage bridgeEcco un esempio con DISPLAY_UNITS e ENABLE compilati:

ℹ️ Nota: Se stai migrando da Heroku, copia tutte le variabili dal tuo sito Heroku (vedi sezione 5) e incollale qui allo stesso modo.
Una volta aggiunte tutte le variabili, l'elenco apparirà così:

- Clicca Salva in alto:

Conferma il riavvio dell'app cliccando Continua:

3. Configura il sito Nightscout
- Dal menu della tua app Azure, vai in Panoramica → copia l'indirizzo del sito (es.
https://nomedeltuosito.azurewebsites.net).

- Aprilo nel browser. Se compare un errore "Timeout", aspetta 5 minuti e riprova. Il sito mostrerà l'orario e il menu laterale:

Clicca sul menu → Profile Editor.
Imposta il fuso orario: Europe/Rome.

- Scorri in fondo, clicca Authenticate, inserisci l'API secret...

...poi Update: lo stato diventerà Admin authorized. Premi Save.

Se il browser chiede conferma sul nuovo formato del profilo, premi OK:

Il salvataggio è confermato dal messaggio Status: success.
Se usi Dexcom Share, i dati appariranno entro qualche minuto. Per xDrip, Spike, xDrip4iOS ecc.: inserisci l'indirizzo del sito e l'API secret nell'app. Una volta connesso, il tuo sito Nightscout mostrerà la glicemia in tempo reale:

4. Aggiorna i dispositivi (solo migrazione da Heroku)
Devi aggiornare l'indirizzo Nightscout su tutti i tuoi dispositivi:
- Prima (Heroku):
https://nomedeltuosito.herokuapp.com - Ora (Azure):
https://nomedeltuosito.azurewebsites.net
Per xDrip master (Cloud Upload), l'URL diventa:
https://nomedeltuosito.azurewebsites.net/api/v1ℹ️ Nota: Il sito Azure mostrerà i dati anche con il vecchio indirizzo Heroku (il database è condiviso), ma il sito Heroku si è fermato: devi aggiornare tutti i dispositivi per continuare a ricevere dati.
Se vuoi mettere offline il vecchio sito Heroku per essere certo che tutti i dispositivi siano stati aggiornati, puoi attivare la Maintenance Mode dalle impostazioni dell'app Heroku:

5. Database Atlas esistente (migrazione da Heroku)
Se hai ancora accesso a Heroku:
- Vai su
https://id.heroku.com/logine accedi con le tue credenziali.

Poi apri la tua app dall'elenco:

- Vai in Settings → Reveal Config Vars.

- Copia il valore di
MONGODB_URI...

...oppure di MONGO_CONNECTION se la prima non c'è (non MONGODB_COLLECTION).
- Usa questa stringa come
MONGODB_URInel passo 2 di Azure.
Se non hai più accesso a Heroku:
- Vai su
https://account.mongodb.com/account/logine accedi con email e password del tuo account Atlas.

- Se ricordi la password del tuo utente database, segui il passaggio Connect nella tua homepage Atlas.
- Se non ricordi la password:
- Vai in Database Access...

...e premi EDIT sull'utente esistente:

Cambia il ruolo in Only read any database → Update User (questo disabilita temporaneamente il vecchio accesso).

- Clicca + ADD NEW DATABASE USER:

Scegli un nome utente, genera una password con Autogenerate Secure Password, premi SHOW per visualizzarla e copiala:

Apri il menu Built-in Role e seleziona Atlas admin:

Se il ruolo non è ancora impostato, usa Add Built In Role:

Infine premi Add User:
Il nuovo utente comparirà nell'elenco Database Access insieme a quello vecchio (ora in sola lettura):

- Torna in Database → Connect sul tuo cluster:

Scegli di nuovo Connect your application:

Copia la stringa e sostituisci <username> e <password> con i nuovi valori:

- Usa questa stringa come
MONGODB_URInel passo 2 di Azure.