Skip to main content

Introduzione

Per sviluppare e ospitare un'applicazione Ruby on Rails su Square Cloud, è essenziale seguire una sequenza strutturata di configurazioni e prerequisiti. Questa guida tecnica coprirà l’intero processo, dalla configurazione iniziale al deploy in produzione.

Prerequisiti

  • Account Square Cloud: Registrati tramite la pagina di registrazione usando la tua email.
  • Piano attivo: Garantisce risorse dedicate e prestazioni ottimizzate per la tua applicazione. Consulta i nostri piani disponibili e scegli quello più adatto alle tue esigenze.
Questa guida usa il runtime Ruby.

Creare il progetto

Ti servono Ruby e Bundler sul tuo computer. Se non hai ancora Ruby, scaricalo dal sito ufficiale di Ruby. Installa Rails e crea un progetto:
I nuovi progetti Rails usano SQLite, salvato nella cartella storage/, quindi funzionano senza un database esterno. Avvia il server di sviluppo:
In sviluppo Rails ascolta su http://localhost:3000. Mantieni la porta predefinita sul tuo computer: in locale non ti serve la porta 80.

Build per la produzione

Square Cloud prepara l’app all’avvio: esegue bundle install per installare le gem del tuo Gemfile, poi il tuo comando START precompila gli asset e prepara il database. Il runtime Ruby imposta RACK_ENV=production, quindi Rails gira in modalità produzione.

Porta e host

Non c’è niente da cambiare: rails server legge la variabile d’ambiente PORT, che Square Cloud imposta a 80, e in produzione ascolta su tutte le interfacce di rete.

Variabili d’ambiente

Imposta queste variabili d’ambiente dalla dashboard o con squarecloud app env set:

Configurare Square Cloud

Crea un file squarecloud.app nella radice del tuo progetto:
squarecloud.app
A ogni avvio, questo comando:
  • rimuove un file PID del server lasciato da un’esecuzione precedente, che impedirebbe l’avvio di Rails;
  • rails assets:precompile genera il tuo CSS e JavaScript in public/assets;
  • rails db:prepare crea i database o applica le migrazioni in sospeso;
  • rails server avvia Puma.
RUNTIME=ruby seleziona il runtime Ruby senza un file MAIN. I comandi usano bundle exec rails invece di bin/rails perché uno ZIP creato su Windows può perdere il permesso di esecuzione di bin/rails.

Cosa mettere nello ZIP

  • Tutto il progetto: app/, bin/, config/, db/, lib/, public/, Gemfile, Gemfile.lock e config.ru.
  • squarecloud.app.
Lascia fuori config/master.key (la chiave va in RAILS_MASTER_KEY), log/, tmp/ e i database locali in storage/.

Deploy e verifica

Tramite dashboard

1

Accedi alla pagina di upload

Accedi alla pagina di upload e carica il file zip del tuo progetto.
2

Configura il tuo ambiente

Dopo aver caricato il tuo zip, dovrai configurare il nome, il file principale o il runtime environment e altre impostazioni per il tuo progetto.
Se stai caricando un progetto web, assicurati di selezionare “Web Publication” e di impostare un sottodominio per il tuo progetto.
3

Esegui il deploy del tuo progetto

Infine, clicca sul pulsante “Deploy” per ospitare il tuo progetto su Square Cloud.
Dopo il deploy, puoi monitorare lo stato e i log del tuo progetto dalla dashboard.
Caricamento dell'applicazione su Square Cloud
4

Conferma che la tua app sia online

Il primo deploy richiede di solito meno di un minuto. Nella dashboard, attendi che lo stato della tua applicazione mostri “in esecuzione” e controlla i log per eventuali errori di avvio.
Se hai fatto il deploy di un sito web o di un’API, apri https://<tuo-sottodominio>.squareweb.app nel tuo browser: dovresti vedere la tua applicazione rispondere. Se hai fatto il deploy di un bot, invia un comando per confermare che sia online.
La tua app non si avvia? Consulta la guida alla risoluzione dei problemi per le cause più comuni e le relative soluzioni.

Tramite CLI

Per utilizzare questo metodo, il tuo progetto deve avere un file di configurazione chiamato squarecloud.app nella sua radice. Indica a Square Cloud come eseguire la tua applicazione.

Guida al file di configurazione

Scopri come creare il file di configurazione squarecloud.app che definisce l’ambiente della tua applicazione.
1

Installa la CLI

Installa la CLI di Square Cloud. Se ce l’hai già, esegui lo stesso comando per aggiornarla:
2

Accedi

Esegui il comando qui sotto. Apre il tuo browser: approva l’accesso lì e la CLI è pronta. Non c’è nessuna chiave API da copiare. Per script e CI, consulta Autenticazione della CLI.
3

Carica il tuo progetto

Dalla cartella del tuo progetto, esegui il comando qui sotto. La CLI comprime la cartella corrente, escludendo ciò che elenca squarecloud.ignore, e la carica:
Per caricare uno zip che hai creato tu, passalo con --file:
4

Conferma che la tua app sia online

Il primo deploy richiede di solito meno di un minuto. Controlla lo stato e i log della tua applicazione direttamente dal terminale:
Se hai fatto il deploy di un sito web o di un’API, apri https://<tuo-sottodominio>.squareweb.app nel tuo browser: dovresti vedere la tua applicazione rispondere. Se hai fatto il deploy di un bot, invia un comando per confermare che sia online.
La tua app non si avvia? Consulta la guida alla risoluzione dei problemi per le cause più comuni e le relative soluzioni.

Errori comuni

Dominio personalizzato

Per utilizzare un dominio personalizzato (ad esempio, mysite.com) invece dell’URL predefinito mysite.squareweb.app, hai bisogno del piano Standard o superiore. L’URL predefinito deriva dal campo SUBDOMAIN nel file di configurazione. Per collegare il tuo dominio, segui come configurare il tuo dominio.

Requisiti minimi di RAM

Minimo: 512MB di RAM per siti web e API, sufficienti per una build statica sul runtime statico. Per le app che generano le pagine su un server (Next.js, Nuxt, Angular SSR e simili), consigliamo almeno 1GB di RAM. Per applicazioni più grandi, alloca più RAM per evitare che l’applicazione esaurisca la memoria e si arresti in modo anomalo.

Impossibile trovare questo sito.

Verifica che il sottodominio/dominio corrisponda a quanto configurato nel campo SUBDOMAIN o nelle impostazioni del dominio personalizzato. Se hai appena caricato il sito, attendi fino a 60 secondi affinché Square abiliti il primo accesso.

Il sito ha impiegato troppo tempo per rispondere…

Il tuo server deve ascoltare sulla porta 80 e sull’host 0.0.0.0. Square Cloud imposta le variabili d’ambiente PORT (80) e HOST (0.0.0.0) nella tua applicazione: leggile nel codice invece di scrivere altri valori fissi. Un server che ascolta solo su localhost o 127.0.0.1 non riceve mai richieste.

Missing secret_key_base or ActiveSupport::MessageEncryptor::InvalidMessage

RAILS_MASTER_KEY manca o non corrisponde a config/credentials.yml.enc. Copia il contenuto del config/master.key che ha creato quelle credenziali, poi riavvia l’applicazione.

Prossimi passi

Variabili d'ambiente

Tieni segreti e impostazioni fuori dal codice e leggili in fase di esecuzione.

Dominio personalizzato

Pubblica la tua app sul tuo dominio, dal piano Standard in su.

Risoluzione dei problemi

Sistema un’app che non si avvia o un sito che non risponde.
Per saperne di più su Rails, consulta le guide ufficiali di Rails.

Contattaci

Se continui a riscontrare difficoltà tecniche, il nostro team di supporto specializzato è disponibile ad assisterti. Contattaci e saremo felici di aiutarti a risolvere qualsiasi problema: la qualità del supporto è una parte importante del motivo per cui gli sviluppatori valutano Square Cloud 4,9/5 su 402 recensioni su Google e Trustpilot.