Framework Francoforte, Germania
Rails 7.1 e versioni successive generano un Dockerfile, e Nodion lo usa per la build della tua app: Ruby, gem, bundling JavaScript e assets:precompile girano come li ha configurati Rails. Le app con importmap e senza package.json possono invece usare il buildpack Ruby, che precompila gli asset e avvia Puma. In entrambi i casi l'app e il suo database PostgreSQL girano a Francoforte.
config/puma.rb (buildpack)/up, integrato in Rails 7.1+RAILS_MASTER_KEY come variabile segreta con il contenuto di config/master.key nella scheda Environment. Per le app con Dockerfile Nodion non imposta PORT: il server ascolta sulla porta del processo web, che il modulo prende da EXPOSE. Rails 7.1 e 7.2 espongono la 3000 per Puma. Rails 8 espone la 80 per Thruster, che gira davanti a Puma; l'immagine gira con un utente non root, quindi imposta HTTP_PORT=8080 e indica 8080 come porta del processo web nella scheda Processes. DATABASE_URL che riceve al deploy successivo. Il bin/docker-entrypoint generato esegue bin/rails db:prepare prima dell'avvio del server Rails, quindi le migrazioni in sospeso vengono eseguite quando parte la nuova versione. Puoi anche impostare ./bin/rails db:migrate come comando di release dell'app (campo API release_command, vedi la guida Docker), che viene eseguito una volta per deploy prima che parta la nuova versione. /up con 200 appena l'app è avviata; impostalo come percorso dell'health check nelle impostazioni dell'app. Nodion chiama ogni istanza con il suo IP interno come Host, quindi se imposti config.hosts, escludi /up dall'autorizzazione degli host, altrimenti la release non va mai online. config/environments/production.rb config.hosts << "www.example.com"
config.host_authorization = { exclude: ->(request) { request.path == "/up" } } package.json può invece scegliere Buildpacks nel modulo di creazione. In quel caso Nodion esegue bundle install senza le gem di development e test e assets:precompile con RAILS_ENV=production e SECRET_KEY_BASE_DUMMY=1, avvia Puma con config/puma.rb su PORT e imposta RAILS_SERVE_STATIC_FILES e RAILS_LOG_TO_STDOUT. Le migrazioni girano da un Procfile: Procfile release: bin/rails db:migrate worker: bin/jobs (Solid Queue) o worker: bundle exec sidekiq insieme a una riga esplicita web: bundle exec puma -C config/puma.rb; senza una riga web:, la prima voce del Procfile diversa da release: diventa il comando predefinito. Poi aggiungi un processo chiamato worker senza porta nella scheda Processes. Con il Dockerfile, assegna invece a quel processo il comando ./bin/jobs o bundle exec sidekiq. Valkey nella stessa regione fornisce a Sidekiq la sua REDIS_URL.config/database.yml anche i database cache, queue e cable per la produzione, e DATABASE_URL imposta solo quello principale. Prima del primo deploy, assegna una connessione anche agli altri, oppure rimuovi quelli che la tua app non usa.RUBY_VERSION nel Dockerfile. Con i buildpack, Nodion legge .ruby-version o la riga ruby nel Gemfile e offre 3.3, 3.4 (predefinita) e 4.0.DATABASE_URL, REDIS_URL o CLICKHOUSE_URL. release: del Procfile viene eseguita a ogni nuova build. Le app con Dockerfile, così come i redeploy e i rollback a un'immagine precedente, usano un comando di release impostato sull'app stessa, che ha anche la precedenza sulla riga del Procfile. Nei siti statici, la fase di release gira in un'immagine che contiene solo i file generati dalla build. Di solito no. Imposta RAILS_MASTER_KEY come variabile segreta, controlla la porta del processo web (e HTTP_PORT su Rails 8) e usa /up come percorso dell'health check.
Con il Dockerfile generato, bin/docker-entrypoint esegue db:prepare all'avvio del server Rails. Con i buildpack, aggiungi release: bin/rails db:migrate a un Procfile; viene eseguito una volta per ogni build prima che parta la nuova versione, e un errore ferma il deploy.
Di solito l'health check riceve un 404 su / perché non c'è una route root, oppure un 403 dall'autorizzazione degli host. Imposta /up come percorso dell'health check ed escludilo dall'autorizzazione degli host. Su Rails 8 con il Dockerfile, controlla anche che la porta del processo web corrisponda a HTTP_PORT.
Sì, con il Dockerfile: la build JavaScript gira nel tuo Dockerfile, come in quello che Rails genera per jsbundling e cssbundling. La strada dei buildpack è per le app con importmap senza package.json.
Nella regione EU Central a Francoforte, in Germania. La build, il registry, l'app e i suoi database, volumi, bucket, log e metriche restano in quella regione. L'API e il control plane di Nodion sono ospitati in Germania. Nodion GmbH ha sede a Stoccarda.
Nodion offre le basi per farlo: Nodion GmbH ha sede a Stoccarda, in Germania; nella regione di Francoforte l'app, i suoi database e i volumi girano in Germania; puoi sottoscrivere il DPA (accordo sul trattamento dei dati, art. 28 GDPR) in formato elettronico nella dashboard. La conformità del tuo utilizzo dipende anche da come configuri e usi l'app.
Un'istanza dell'app costa da 1 EUR al mese. La configurazione mostrata nel riquadro costa 5.50 EUR al mese: App 4 EUR, PostgreSQL 1.50 EUR. I prezzi sono IVA esclusa e la fatturazione è al secondo. Puoi scegliere dimensioni più grandi o più istanze quando ti servono.
Sì. Ogni app riceve un hostname predefinito con HTTPS. Aggiungi il tuo dominio nella scheda Domains dell'app; il certificato TLS viene emesso e rinnovato automaticamente.
Fino a 15 € di credito quando ti registri.
oppure con l'email
Novità sul prodotto, niente spam. Puoi annullare l'iscrizione quando vuoi.
Iscrizione completata.