Skip to main content
Tieni token dei bot, chiavi API e password dei database fuori dal codice sorgente. Impostali come variabili d’ambiente dell’applicazione, e il tuo codice li legge durante l’esecuzione come qualsiasi altra variabile.

Impostare le variabili

Le variabili d’ambiente appartengono a una sola applicazione. Sopravvivono a riavvii e commit, ma un nuovo upload crea una nuova applicazione senza di esse, quindi dovrai impostarle di nuovo lì.
  1. Apri la tua applicazione nella dashboard e vai in Settings → Environment Variables.
  2. Aggiungi ogni chiave e valore, oppure importa un file .env esistente.
  3. Fai clic su Save. La dashboard chiede se riavviare l’applicazione: riavviala perché l’app legga i nuovi valori.
Quando carichi una nuova applicazione dalla dashboard, puoi anche aggiungere le variabili nella schermata di upload, prima del primo avvio.
Le variabili vengono caricate all’avvio dell’applicazione. Dopo ogni modifica riavvia l’applicazione, altrimenti continua a funzionare con i vecchi valori.

Leggerle nel codice

Fermarsi subito quando manca una variabile ti dà un messaggio chiaro nei log, invece di un errore confuso più avanti, come un token non valido.

Variabili impostate da Square Cloud

La tua applicazione si avvia con queste variabili già definite:
Non sovrascrivere PORT o HOST su un sito: la piattaforma raggiunge solo un server sulla porta 80 e sull’host 0.0.0.0.
Poiché NODE_ENV vale production, npm install salta le devDependencies. Se il tuo comando START compila il progetto (per esempio con typescript o vite), elenca quegli strumenti di build sotto dependencies in package.json.

Come le variabili arrivano alla tua app

Square Cloud salva le variabili in un file .squarecloud/.env dentro l’applicazione e le carica con una shell a ogni avvio, prima dell’installazione delle dipendenze e dell’esecuzione del comando START o del file MAIN. Due conseguenze:
  • I nomi dovrebbero usare lettere, cifre e underscore, e non iniziare con una cifra.
  • I valori con spazi o caratteri della shell come $, &, ; o | vanno messi tra virgolette, altrimenti la shell li tronca o li espande. La dashboard e squarecloud app env set li mettono tra virgolette per te. Nell’estensione per VS Code o nell’API, racchiudi tu stesso un valore del genere tra virgolette singole: digita 'p@ss word$1', oppure invia "PASSWORD": "'p@ss word$1'" nel body dell’API.
I limiti sono 256 variabili per applicazione, 1.024 caratteri per nome e 4.096 caratteri per valore. I siti statici (HTML/CSS) non supportano le variabili d’ambiente e restituiscono STATIC_APP_ENV_NOT_SUPPORTED.

Tieni i segreti fuori dall’upload

Se il tuo codice carica da sé un file .env (per esempio con dotenv), quel file deve essere nell’upload. Elencare .env in squarecloud.ignore avvia allora l’app senza i suoi segreti, e un bot fallisce con un token non valido. La configurazione più sicura: sposta ogni valore del tuo .env nelle variabili d’ambiente dell’applicazione, come mostrato sopra. Una volta impostate, puoi escludere .env dall’upload e dal tuo repository Git. dotenv non sovrascrive le variabili già esistenti, quindi lo stesso codice continua a funzionare sulla tua macchina e su Square Cloud.
Non fare mai commit di token o password in un repository pubblico. Se uno viene esposto, revocalo presso il fornitore (per esempio, reimposta il token del bot nel Discord Developer Portal) e imposta qui il nuovo valore.

Prossimi passi

File di configurazione

Imposta MAIN, MEMORY, START e gli altri campi di squarecloud.app.

Ospita un bot Discord

Pubblica un bot che legge il token da una variabile d’ambiente.

Errori dei bot Discord

Risolvi token non validi, intent mancanti e bot che vanno offline.

Errori di connessione al database

Connettiti con una DATABASE_URL e le impostazioni SSL corrette.