Distribuzione di Rebase su Railway
Railway è un PaaS (Platform as a Service) moderno incredibilmente popolare che elimina le complessità del DevOps. Rileverà automaticamente il framework Rebase Node e lo costruirà senza problemi.
Inoltre, Railway supporta pienamente le regioni di deployment europee (Amsterdam), il che significa che potrai comunque beneficiare di una rigorosa conformità all’hosting regionale.
1. Creare un Progetto e una Regione UE
Sezione intitolata “1. Creare un Progetto e una Regione UE”- Accedi al tuo Account Railway.
- Clicca su Nuovo Progetto.
- Vai su Impostazioni -> Regione predefinita e impostala esplicitamente su Europa (Amsterdam). (Se lo fai dopo aver creato i servizi, potrebbe essere necessario migrarli manualmente).
2. Effettuare il Provisioning di PostgreSQL
Sezione intitolata “2. Effettuare il Provisioning di PostgreSQL”- All’interno del tuo progetto, clicca su Nuovo -> Database -> Aggiungi PostgreSQL.
- Attendi qualche secondo per il provisioning del database.
- Per impostazione predefinita, Railway fornisce una variabile interna
DATABASE_URL. Clicca sul widget Postgres -> Variabili per individuare questa stringa di connessione.
3. Distribuire il Codice Rebase
Sezione intitolata “3. Distribuire il Codice Rebase”- Clicca su Nuovo -> GitHub Repo.
- Seleziona il tuo repository Rebase.
- Railway rileverà immediatamente il repository e cercherà un
Dockerfile. Attendi l’inizio della build iniziale.
4. Impostare le Variabili d’Ambiente
Sezione intitolata “4. Impostare le Variabili d’Ambiente”La build iniziale potrebbe fallire perché manca completamente la configurazione. Risolviamo il problema.
- Clicca sulla nuova scheda del servizio Rebase GitHub.
- Vai alla scheda Variabili.
- Clicca su Nuova Variabile e aggiungi:
JWT_SECRET: Genera una stringa casuale sicura di 32+ caratteri.NODE_ENV: Imposta suproduction
- Clicca su Riferisci Variabile e seleziona
DATABASE_URLdal servizio PostgreSQL che hai provisionato. Railway inietterà in modo sicuro l’URL interno di Postgres in fase di esecuzione.
5. Esporre il Dominio
Sezione intitolata “5. Esporre il Dominio”- Nella scheda del servizio Rebase, vai alla scheda Impostazioni.
- Scorri fino a Networking.
- Sotto Public Networking, clicca su Genera Dominio. Railway fornirà un URL di testing
.up.railway.app. Qui puoi anche allegare in modo sicuro un Dominio Personalizzato.
Railway ricostruirà automaticamente in modo sicuro. La tua piattaforma ospitata nell’UE è ora completamente attiva!
6. Crea lo Schema del Database
Sezione intitolata “6. Crea lo Schema del Database”All’avvio Rebase crea automaticamente solo le tabelle di autenticazione. Le tabelle per le tue collezioni non vengono create automaticamente: l’app si avvia comunque e il login funziona, quindi è facile non accorgersene, finché ogni collezione non restituisce un errore “missing table”.
Esegui la sincronizzazione dello schema una volta contro il database di produzione:
pnpm run db:pushEseguilo da un checkout del progetto o dalla CI con DATABASE_URL che punta alla produzione, non dall’interno del container: l’immagine di produzione non include la CLI. Railway espone una stringa di connessione pubblica per il database Postgres (nella scheda Variabili del servizio Postgres): usala come DATABASE_URL quando esegui il comando dalla tua macchina locale o dalla CI.
Se preferisci migrazioni versionate a una sincronizzazione diretta, usa invece pnpm run db:generate seguito da pnpm run db:migrate.
