Framework Frankfurt, Alemanha
O Rails 7.1 e as versões posteriores geram um Dockerfile, e a Nodion faz o build da sua aplicação com ele: Ruby, gems, bundling de JavaScript e assets:precompile são executados tal como o Rails os configurou. As aplicações com importmap e sem package.json podem usar, em alternativa, o buildpack de Ruby, que pré-compila os assets e arranca o Puma. Em ambos os casos, a aplicação e a sua base de dados PostgreSQL são executadas em Frankfurt.
config/puma.rb (buildpacks)/up, integrado no Rails 7.1+RAILS_MASTER_KEY com o conteúdo de config/master.key como variável secreta. A Nodion não define PORT para aplicações com Dockerfile: o servidor escuta na porta do processo web, que o formulário preenche a partir de EXPOSE. O Rails 7.1 e 7.2 expõem a porta 3000 para o Puma. O Rails 8 expõe a porta 80 para o Thruster, que fica à frente do Puma; a imagem é executada com um utilizador sem privilégios de root, por isso defina HTTP_PORT=8080 e indique 8080 como porta do processo web no separador Processes. DATABASE_URL que recebe no deploy seguinte. O bin/docker-entrypoint gerado executa bin/rails db:prepare antes de o servidor Rails arrancar, por isso as migrações pendentes são executadas quando a nova versão arranca. Também pode definir ./bin/rails db:migrate como comando de release da aplicação (campo release_command da API, consulte o guia de Docker), que é executado uma vez por deploy antes de a nova versão arrancar. /up com 200 assim que a aplicação arranca; defina-o como caminho do health check nas definições da aplicação. A Nodion chama cada instância com o seu IP interno como Host, por isso, se definir config.hosts, exclua /up da autorização de hosts; caso contrário, a release nunca fica online. config/environments/production.rb config.hosts << "www.example.com"
config.host_authorization = { exclude: ->(request) { request.path == "/up" } } package.json pode, em alternativa, escolher Buildpacks no formulário de criação. Nesse caso, a Nodion executa bundle install sem as gems de development e test e assets:precompile com RAILS_ENV=production e SECRET_KEY_BASE_DUMMY=1, arranca o Puma com config/puma.rb na porta PORT e define RAILS_SERVE_STATIC_FILES e RAILS_LOG_TO_STDOUT. As migrações são executadas a partir de um Procfile: Procfile release: bin/rails db:migrate worker: bin/jobs (Solid Queue) ou worker: bundle exec sidekiq ao Procfile juntamente com uma linha web: bundle exec puma -C config/puma.rb explícita; sem uma linha web:, a primeira entrada do Procfile que não seja release: passa a ser o comando por omissão. Depois, adicione no separador Processes um processo chamado worker sem porta. Com o Dockerfile, em vez disso, atribua a esse processo o comando ./bin/jobs ou bundle exec sidekiq. O Valkey na mesma região fornece ao Sidekiq a sua REDIS_URL.config/database.yml, as bases de dados cache, queue e cable para produção, e DATABASE_URL só define a principal. Antes do primeiro deploy, configure também uma ligação para as outras ou remova as que a sua aplicação não usa.RUBY_VERSION no Dockerfile. Com buildpacks, a Nodion lê .ruby-version ou a linha ruby do Gemfile e oferece 3.3, 3.4 (por omissão) e 4.0.DATABASE_URL, REDIS_URL ou CLICKHOUSE_URL. release: do Procfile é executada a cada novo build. As aplicações com Dockerfile, bem como os redeploys ou rollbacks para uma imagem anterior, usam um comando de release definido na própria aplicação, que também tem prioridade sobre a linha do Procfile. Nos sites estáticos, a etapa de release é executada numa imagem que contém apenas os ficheiros gerados pelo build. Normalmente não. Defina RAILS_MASTER_KEY como variável secreta, verifique a porta do processo web (e HTTP_PORT no Rails 8) e use /up como caminho do health check.
Com o Dockerfile gerado, o bin/docker-entrypoint executa db:prepare quando o servidor Rails arranca. Com buildpacks, adicione release: bin/rails db:migrate a um Procfile; essa linha é executada uma vez por build antes de a nova versão arrancar e, se falhar, o deploy é interrompido.
Normalmente, o health check recebe um 404 em / porque não existe uma rota raiz, ou um 403 da autorização de hosts. Defina /up como caminho do health check e exclua-o da autorização de hosts. No Rails 8 com o Dockerfile, verifique também se a porta do processo web corresponde a HTTP_PORT.
Sim, com o Dockerfile: o build de JavaScript é executado no seu Dockerfile, como no que o Rails gera para jsbundling e cssbundling. A via dos buildpacks destina-se a aplicações com importmap sem package.json.
Na região EU Central, em Frankfurt (Alemanha). O build, o registry, a aplicação e as respetivas bases de dados, volumes, buckets, logs e métricas ficam nessa região, e a API e o plano de controlo da Nodion estão alojados na Alemanha. A Nodion GmbH tem sede em Stuttgart.
A Nodion cria as condições para isso: a Nodion GmbH tem sede em Stuttgart (Alemanha); na região de Frankfurt, a aplicação, as bases de dados e os volumes são executados na Alemanha. O acordo de tratamento de dados (DPA, art. 28.º do RGPD) é celebrado eletronicamente no dashboard. A conformidade da sua utilização depende também da forma como configura e utiliza a aplicação.
Uma instância da aplicação custa a partir de 1 EUR por mês. A configuração apresentada no quadro de custos custa 5.50 EUR por mês: Aplicação 4 EUR, PostgreSQL 1.50 EUR. Os preços não incluem IVA e a faturação é ao segundo. Pode escolher tamanhos maiores ou mais instâncias sempre que precisar.
Sim. Cada aplicação recebe um hostname atribuído por omissão com HTTPS. Adicione o seu próprio domínio no separador Domains da aplicação; o certificado TLS é emitido e renovado automaticamente.
Ganhe até 15 € de crédito ao registar-se.
ou com e-mail
Novidades do produto, sem spam. Pode cancelar a subscrição a qualquer momento.
Subscrição efetuada com sucesso.