Independent testing Updated August 2026 387 self-hosting guides 5 VPS providers tested

guide

Requisitos de VPS para o Windmill: RAM, CPU e Armazenamento

O Windmill dimensiona-se por worker e não por aplicação: cerca de 1 vCPU e 1-2 GB cada. O que a pilha Compose real exige e que especificações de VPS lhe correspondem.

O Windmill é uma plataforma open source para programadores que transforma scripts em webhooks, fluxos de trabalho, tarefas agendadas e interfaces internas - posicionada frente ao Retool e ao Temporal, não frente a um alojamento de sites estáticos. A edição comunitária está licenciada sob AGPL-3.0 e a empresarial atrás de uma chave de licença.

Dimensioná-lo não se assemelha a dimensionar uma aplicação web comum, porque a unidade de capacidade é o worker e não a aplicação.

A arquitetura que decide as suas especificações

O docker-compose.yml oficial arranca sete serviços:

ServiçoImagemFunção
dbpostgres:16Base de dados e fila de tarefas
windmill_serverghcr.io/windmill-labs/windmill:mainAPI e interface web, porta 8000
windmill_workermesma imagem, MODE=workerExecuta as tarefas
windmill_worker_nativemesma imagem, NATIVE_MODE=trueApenas tarefas leves
windmill_indexermesma imagem, MODE=indexerPesquisa de texto integral sobre tarefas
windmill_extraghcr.io/windmill-labs/windmill-extra:latestServidores de linguagem para o editor
caddyghcr.io/windmill-labs/caddy-l4:2.11.4-1Proxy inverso na porta 80

Dois pontos dessa tabela pesam mais do que os restantes.

Não existe Redis. O Windmill usa o PostgreSQL como fila. Inúmeros guias de terceiros acrescentam um contentor Redis e uma REDIS_URL; o ficheiro Compose oficial não tem nem um nem outra, e copiar um guia desses deixa-o a correr um serviço com o qual o Windmill nunca fala.

Os workers são o centro de custo. O servidor fica comparativamente parado. Aquilo que realmente paga é capacidade de worker.

RAM e CPU: dimensionar por worker

A regra prática é um worker por vCPU, 1-2 GB de RAM cada, mais folga para o Postgres e o servidor.

MontagemvCPU / RAMO que lhe dá
Ensaio, um worker2 / 2 GBFunciona, mas uma tarefa de cada vez e sem folga para uma grande instalação de dependências
Pilha predefinida, 1-2 workers2-4 / 4 GBO mínimo praticável para uso real
Várias tarefas em simultâneo4 / 8 GBO objetivo confortável para uma equipa pequena

Os workers nativos são a exceção que convém conhecer: executam tarefas leves com cerca de 0,1 CPU e 128 MB, e é por isso que a pilha predefinida inclui um a par de um worker padrão sem reclamar outro núcleo.

A variável que ninguém prevê é a instalação de dependências. Uma tarefa em Python que puxa o pandas, ou uma em TypeScript com um ficheiro de bloqueio grande, dispara a memória bem acima do valor em repouso. Se as tarefas falham apenas na primeira execução e depois passam, está a assistir à construção da cache de dependências com pouca RAM.

Armazenamento: o crescimento está na cache de dependências

A base de dados mantém-se modesta durante muito tempo - metadados de tarefas, scripts, fluxos e registos são texto. O volume que cresce é o worker_dependency_cache, onde ficam guardados cada wheel de Python e cada pacote npm importados pelas suas tarefas, para que as execuções seguintes dispensem a instalação.

Comece com 40 GB. Vigie o volume da cache em vez da base de dados quando ponderar aumentar, e prefira NVMe ou SSD: aqui o Postgres faz de fila além de armazenamento e é sensível à latência de entrada/saída.

Planos de VPS que correspondem a estes requisitos

FornecedorPlanovCPU / RAM / DiscoPreçoVeredictoLigação
ContaboCloud VPS 44 / 8 GB / 100 GB SSD5,50 EUR/mês s/ IVAEspaço para quatro workers ao preço de um plano de entradaContabo
Hetzner CloudCX232 / 4 GB / 40 GB NVMe5,49 EUR/mês s/ IVAAdequado à pilha predefinida de dois workersHetzner
DigitalOceanBasic 4 GB2 / 4 GB / 80 GB SSD24 USD/mêsMesmas especificações do CX23, quatro vezes o preçoDigitalOcean
VultrRegular 4 GB2 / 4 GB / 80 GB SSD20 USD/mêsA maior escolha de regiõesVultr
LinodeLinode 4 GB2 / 4 GB / 80 GB SSD24 USD/mêsDesempenho previsível, API sólidaLinode

O Windmill é uma das poucas aplicações auto-alojadas em que um plano de 1 GB não fica excluído à partida: um único worker nativo cabe mesmo lá. Mas não consegue correr aí um worker padrão, o que exclui qualquer tarefa em Python ou TypeScript com dependências. É uma demonstração, não uma instalação.

Crescer

O Windmill escala horizontalmente acrescentando contentores worker, e não engordando um processo. Para duplicar o débito, acrescente um segundo serviço windmill_worker a apontar para a mesma DATABASE_URL e dê mais um núcleo à máquina.

Isso tem uma consequência prática na escolha do VPS: aqui mais núcleos ganham a núcleos mais rápidos. Os 4 vCPU da Contabo por 5,50 EUR sem IVA compram paralelismo para quatro workers, ao passo que o CX23 da Hetzner compra dois por um preço praticamente igual. Se a sua carga é feita de muitas tarefas pequenas em vez de poucas pesadas, essa proporção é toda a decisão.

Para uma visão mais ampla dos planos disponíveis, veja a nossa comparação completa de VPS.

Frequently asked questions

De quanta RAM precisa uma instância do Windmill auto-alojada?

Dimensione por worker em vez de por aplicação. A regra prática é um worker por vCPU com 1-2 GB de RAM cada, além do Postgres e do processo servidor. Uma instância com um único worker corre em 2 GB, a pilha Compose predefinida com dois workers fica folgada em 4 GB, e 8 GB com 4 vCPU são o objetivo sensato assim que várias tarefas correm em paralelo.

Quantos núcleos de CPU devo atribuir ao Windmill?

Comece com 2 vCPU e acrescente um núcleo por cada worker adicional, uma vez que um worker padrão executa apenas uma tarefa de cada vez. Os workers nativos são a exceção: tratam tarefas leves com cerca de 0,1 CPU e 128 MB, razão pela qual a pilha predefinida inclui um a par do worker padrão sem exigir outro núcleo.

O Windmill precisa de Redis ou de outro intermediário de mensagens?

Não. O Windmill usa o PostgreSQL como base de dados e também como fila de tarefas. É invulgar e vale a pena saber, porque muitos guias de terceiros acrescentam um serviço Redis que o ficheiro Compose oficial não contém. O PostgreSQL 14 ou superior é o único armazenamento de dados necessário, e acrescentar Redis só rende um contentor desperdiçado.