Self-host com Docker Compose
A edição self-hosted é o mesmo produto na sua infraestrutura. Um repositório público tem um arquivo Compose e um .env.example; cada serviço baixa uma imagem publicada, então não há nada para compilar. Preencha três valores, suba o stack e crie a primeira conta.
- Subir uma instância funcionando em poucos comandos
- Servir nos seus próprios domínios com HTTPS
- Adicionar workers em outras máquinas
- Atualizar com segurança e saber o que guardar no backup
O que roda
O stack é um punhado de serviços. A API aplica as próprias migrações do banco quando inicia, e os workers não precisam de porta de entrada — eles só acessam o banco.
| Serviço | O que faz | Obrigatório |
|---|---|---|
ui | O app web que seus usuários abrem | sim |
api | A API HTTP; aplica as migrações ao iniciar | sim |
worker | Roda scripts, flows, SQL e o workbench de banco | sim |
scraper-engine | AI Scrapers | só se você usar |
lsp | Autocompletar e diagnósticos no editor | não |
postgres | O banco de dados | a menos que você traga o seu |
Instale
- Clone o repositório de deploy
Ele tem só arquivos de deploy: o arquivo Compose, um chart Helm e o modelo de ambiente.
- Preencha os três valores obrigatórios
POSTGRES_PASSWORD,DB_CREDENTIALS_KEYeSCRAPER_ENGINE_SECRETnão têm valor padrão de propósito — um padrão embutido seria o mesmo segredo em toda instalação. O.env.exampletraz o comando que gera cada um. - Carregue o perfil AppArmor do worker, se o host exigir
No Ubuntu, Debian ou SUSE,
cat /sys/module/apparmor/parameters/enabledimprimeYquando o AppArmor está ligado. Pular o perfil nesse caso impede o worker de iniciar, com um erro que cita o perfil. - Suba e crie a primeira conta
Rode
docker compose up -de abrahttp://localhost:8080. A primeira conta criada num banco vazio vira admin da instância.
git clone https://github.com/talissonjunior16/waiso.git
cd waiso
cp .env.example .env # fill in the three required values
# Hosts that enforce AppArmor (Ubuntu, Debian, SUSE) — once per host:
sudo install -m 0644 apparmor/waiso-worker /etc/apparmor.d/waiso-worker
sudo apparmor_parser -r -W /etc/apparmor.d/waiso-worker
docker compose up -dDomínios e HTTPS
Para atender pessoas em outras máquinas, o Waiso precisa de três hostnames, um por serviço que o navegador acessa: o app web (porta 8080), a API (3000) e o serviço do editor por WebSocket (3001). Crie um registro DNS para cada um, coloque na frente um proxy reverso que termina o TLS e informe os endereços ao Waiso.
waiso.example.com { reverse_proxy 127.0.0.1:8080 }
api.waiso.example.com { reverse_proxy 127.0.0.1:3000 }
lsp.waiso.example.com { reverse_proxy 127.0.0.1:3001 }Sem o hostname lsp tudo funciona, menos o autocompletar e os diagnósticos no editor de código.
Escale, atualize, faça backup
Mais workers
Suba mais workers com o mesmo .env em qualquer máquina que alcance o banco. Cada um aparece na aba Workers. Um PostgreSQL gerenciado também funciona: defina DATABASE_URL e remova o serviço postgres embutido.
Atualize
# set WAISO_VERSION in .env first, or leave it unset for this release
docker compose pull && docker compose up -d --remove-orphansAs migrações rodam sozinhas quando a API nova inicia. Faça backup do banco antes: não há caminho de volta. --remove-orphans aposenta serviços que uma versão não traz mais.
Guarde duas coisas
- O banco de dados — tudo o que você criou.
DB_CREDENTIALS_KEY— sem ela, um banco restaurado guarda credenciais que ninguém consegue descriptografar, e a licença precisa ser aplicada de novo. Guarde num lugar diferente da máquina onde ela roda.