Framework Frankfurt, Duitsland
Rails 7.1 en nieuwer genereren een Dockerfile, en Nodion bouwt je app daarmee: Ruby, gems, JavaScript-bundling en assets:precompile draaien zoals Rails ze heeft ingericht. Apps met importmap en zonder package.json kunnen in plaats daarvan het Ruby-buildpack gebruiken, dat de assets precompileert en Puma start. In beide gevallen draaien de app en de bijbehorende PostgreSQL-database in Frankfurt.
config/puma.rb (buildpacks)/up, ingebouwd in Rails 7.1+RAILS_MASTER_KEY toe met de inhoud van config/master.key, als secret. Voor Dockerfile-apps stelt Nodion geen PORT in: de server luistert op de poort van het webproces, die het formulier overneemt uit EXPOSE. Rails 7.1 en 7.2 gebruiken poort 3000 voor Puma. Rails 8 gebruikt poort 80 voor Thruster, dat vóór Puma draait; de image draait als gebruiker zonder rootrechten, dus stel HTTP_PORT=8080 in en kies op het tabblad Processes poort 8080 voor het webproces. DATABASE_URL die het bij de volgende deployment krijgt. De gegenereerde bin/docker-entrypoint voert bin/rails db:prepare uit voordat de Rails-server start, dus openstaande migraties draaien wanneer de nieuwe versie opstart. Je kunt ook ./bin/rails db:migrate instellen als release command van de app (API-veld release_command, zie de Docker-handleiding); dat draait één keer per deployment voordat de nieuwe versie start. /up met 200 zodra de app is opgestart; stel dat pad in de app-instellingen in als pad voor de health check. Nodion roept elke instantie aan met haar interne IP als Host, dus als je config.hosts instelt, sluit /up dan uit van de hostcontrole, anders gaat de release nooit live. config/environments/production.rb config.hosts << "www.example.com"
config.host_authorization = { exclude: ->(request) { request.path == "/up" } } package.json kan in het aanmaakformulier in plaats daarvan voor Buildpacks kiezen. Nodion voert dan bundle install uit zonder development- en test-gems en assets:precompile met RAILS_ENV=production en SECRET_KEY_BASE_DUMMY=1, start Puma met config/puma.rb op PORT en zet RAILS_SERVE_STATIC_FILES en RAILS_LOG_TO_STDOUT. Migraties draaien vanuit een Procfile: Procfile release: bin/rails db:migrate worker: bin/jobs (Solid Queue) of worker: bundle exec sidekiq toe aan het Procfile, samen met een expliciete regel web: bundle exec puma -C config/puma.rb; zonder web:-regel wordt de eerste Procfile-regel die geen release: is het standaardcommando. Voeg daarna op het tabblad Processes een proces met de naam worker zonder poort toe. Met de Dockerfile geef je dat proces in plaats daarvan het commando ./bin/jobs of bundle exec sidekiq. Valkey in dezelfde regio geeft Sidekiq zijn REDIS_URL.config/database.yml voor productie ook de databases cache, queue en cable, en DATABASE_URL stelt alleen de primaire in. Geef de andere vóór de eerste deployment ook een verbinding, of verwijder de databases die je app niet gebruikt.RUBY_VERSION in de Dockerfile. Met buildpacks leest Nodion .ruby-version of de ruby-regel in de Gemfile en biedt 3.3, 3.4 (standaard) en 4.0.DATABASE_URL, REDIS_URL of CLICKHOUSE_URL. release:-regel in het Procfile bij elke nieuwe build. Dockerfile-apps, en redeploys of rollbacks naar een eerdere image, gebruiken een releasecommando dat op de app zelf is ingesteld en dat ook voorrang heeft op de Procfile-regel. Bij statische sites draait een releasestap in een image die alleen de gebouwde bestanden bevat. Meestal niet. Stel RAILS_MASTER_KEY in als secret, controleer de poort van het webproces (en HTTP_PORT bij Rails 8) en gebruik /up als pad voor de health check.
Met de gegenereerde Dockerfile voert bin/docker-entrypoint db:prepare uit wanneer de Rails-server start. Met buildpacks voeg je release: bin/rails db:migrate toe aan een Procfile; die regel draait één keer per build voordat de nieuwe versie start, en een fout stopt de deployment.
Meestal krijgt de health check een 404 op / omdat er geen rootroute is, of een 403 door de hostcontrole. Stel /up in als pad voor de health check en sluit het uit van de hostcontrole. Controleer bij Rails 8 met de Dockerfile ook of de poort van het webproces overeenkomt met HTTP_PORT.
Ja, met de Dockerfile: de JavaScript-build draait in je Dockerfile, zoals in de Dockerfile die Rails genereert voor jsbundling en cssbundling. De buildpack-route is bedoeld voor importmap-apps zonder package.json.
In de regio EU Central in Frankfurt, Duitsland. Build, registry, de app en de bijbehorende databases, volumes, buckets, logs en metrics blijven in die regio, en de API en het control plane van Nodion worden in Duitsland gehost. Nodion GmbH is gevestigd in Stuttgart.
Nodion biedt hiervoor de basis: Nodion GmbH is gevestigd in Stuttgart (Duitsland). Kies je de regio Frankfurt, dan draaien de app, de databases en de volumes in Duitsland. De verwerkersovereenkomst (DPA, art. 28 AVG) sluit je elektronisch af in het dashboard. Of je configuratie aan de AVG voldoet, hangt ook af van hoe je de app instelt en gebruikt.
Een appinstantie kost vanaf 1 EUR per maand. De configuratie in het kostenoverzicht kost 5.50 EUR per maand: App 4 EUR, PostgreSQL 1.50 EUR. Prijzen zijn excl. btw en worden per seconde gefactureerd, en je kiest grotere formaten of meer instanties wanneer je ze nodig hebt.
Ja. Elke app krijgt een standaardhostnaam met HTTPS. Voeg je eigen domein toe op het tabblad Domains van de app; het TLS-certificaat wordt automatisch uitgegeven en vernieuwd.
Ontvang tot € 15 welkomsttegoed bij je registratie.
of met e-mail
Productnieuws, geen spam. Je kunt je altijd weer afmelden.
Je bent aangemeld.