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ì.- Dashboard
- CLI
- VS Code
- API
- Apri la tua applicazione nella dashboard e vai in Settings → Environment Variables.
- Aggiungi ogni chiave e valore, oppure importa un file
.envesistente. - Fai clic su Save. La dashboard chiede se riavviare l’applicazione: riavviala perché l’app legga i nuovi valori.
Leggerle nel codice
Variabili impostate da Square Cloud
La tua applicazione si avvia con queste variabili già definite:
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 esquarecloud app env setli 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.
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.
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.
