Node.js
Faça deploy de apps e front ends Node — Express, Next, Vite e outros — com workers e build steps resolvidos para você.
Passo a passo: Fazer deploy de Node.js no DigitalOcean · Fazer deploy de Node.js no Hetzner · Fazer deploy de Node.js no Vultr · Fazer deploy de Node.js no OVHcloud · Fazer deploy de Node.js no Scaleway · Fazer deploy de Node.js no UpCloud
- Start:
npm startquando opackage.jsontem um script start; o app precisa escutar na$PORTe em0.0.0.0(HOST,BIND_ADDRESSe variáveis documentadas parecidas são definidas para você). - Gerenciador de pacotes: npm, pnpm, yarn ou bun, escolhido a partir do seu lockfile.
- Workers: um script
npm run workeré oferecido como worker. - Front ends estáticos: use um site estático em vez disso — sem necessidade de processo de servidor.
- Builds grandes de front end são ajustados automaticamente à memória do servidor de build (build methods).
Etapa de build
O script build do seu package.json roda antes do start sem nenhuma configuração sua — para Next.js, Nuxt, SvelteKit e frameworks server-rendered parecidos, isso é next build/nuxt build/vite build detectado direto das suas dependências, e o servidor inicia com o comando correspondente a cada um (next start, node .output/server/index.mjs…). Um app que só produz saída estática (Gatsby, Create React App, uma SPA Vite simples) é servido como um build estático sem nenhum processo de servidor — veja sites estáticos para pular o servidor por completo em vez de rodar um só para servir arquivos.
Workers são um segundo processo, não um segundo app
web e worker são a mesma imagem, iniciados com um script diferente — um único código-fonte e um único build, vários tipos de processo, cada um escalado separadamente. Um script npm run worker é oferecido automaticamente; declare qualquer outro você mesmo:
web: npm start
worker: npm run worker
ou adicione um na aba Workers do app sem mudar o repositório, e escale qualquer um deles pela CLI:
railyard scale my-app worker=2
O Node não tem uma convenção única de queue, então um executor de jobs baseado em Redis como o BullMQ só precisa do seu próprio script — a REDIS_URL é injetada automaticamente assim que ioredis, bullmq ou bull é uma dependência. Veja Workers e jobs agendados para cron.
Configuração e secrets
Tudo que process.env lê é uma variável comum: defina em Variables, ou railyard env:set my-app KEY=VALUE pela CLI, e o mesmo build roda sem alterações de staging até produção — paridade dev/prod, não um bundle diferente por ambiente. Aponte para um banco de dados ou Redis rodando como serviço próprio no canvas com ${{redis.RAILYARD_PRIVATE_URL}} — resolvido por ambiente. Veja Variáveis e secrets.
Fazendo o deploy
- A partir de um repositório: cole a URL do Git, ou escolha no seletor depois que o GitHub estiver conectado — o Railyard lê o
package.json, preenche o comando de start, o gerenciador de pacotes e qualquer banco de dados que suas dependências declararem, e faz deploy a cada push. - Pela CLI:
railyard create my-app https://github.com/me/my-app --addons postgres,redis, ourailyard git:remote && git push railyard maindentro do repositório. - Um clique só: adicione o botão de deploy ao seu README, ou publique no catálogo de templates para qualquer pessoa lançar com os addons e variáveis já preenchidos.