Gerenciando o servidor local
Use yarn twenty docker:* para controlar o contêiner Twenty local:
| Comando | O que faz |
|---|
yarn twenty docker:start | Inicia o servidor (baixa a imagem se necessário) |
yarn twenty docker:start 2.2.0 | Iniciar uma versão específica do servidor |
yarn twenty docker:start --port 3030 | Inicia em uma porta personalizada |
yarn twenty docker:stop | Interrompe o servidor (preserva os dados) |
yarn twenty docker:status | Mostra a URL, a versão e as credenciais de login |
yarn twenty docker:logs | Transmite os logs do servidor |
yarn twenty docker:reset | Apaga os dados e começa do zero |
yarn twenty docker:upgrade | Baixa a imagem mais recente twenty-app-dev |
yarn twenty docker:upgrade 2.2.0 | Atualiza para uma versão específica |
Os dados são persistidos entre reinicializações em dois volumes do Docker (twenty-app-dev-data para PostgreSQL, twenty-app-dev-storage para arquivos). Use reset para apagar tudo.
Fixando a versão do servidor
Quando nenhuma versão é passada, docker:start resolve a versão a partir do intervalo engines.twenty do seu app em package.json — o mesmo intervalo que o servidor valida quando o seu app é instalado. Ele inicia a imagem mais recente publicada de twenty-app-dev que satisfaz o intervalo, recorrendo a latest quando o campo está ausente ou nenhuma versão publicada corresponde:
{
"engines": {
"twenty": ">=2.2.0"
}
}
Passe uma versão explicitamente para substituir o intervalo em uma única execução: yarn twenty docker:start 2.3.0. Se já existir um contêiner em uma versão diferente, docker:start faz o upgrade dele no lugar (recriando o contêiner enquanto preserva seus volumes de dados).
Atualizando a imagem do servidor
yarn twenty docker:upgrade baixa a imagem mais recente, compara os digests e só recria o contêiner se algo realmente tiver mudado. Os volumes são preservados — apenas o contêiner é substituído. Se uma nova imagem foi baixada e o contêiner estava em execução, a atualização inicia automaticamente um novo contêiner; execute yarn twenty docker:start depois para aguardar até que ele fique saudável.
yarn twenty docker:upgrade # Latest
yarn twenty docker:upgrade 2.2.0 # Specific version
Verifique a versão em execução com yarn twenty docker:status (ele mostra o APP_VERSION incorporado ao contêiner).
Executando uma instância de teste paralela
Passe --test para qualquer comando docker:* para gerenciar uma segunda instância totalmente isolada — útil para testes de integração ou para experimentar sem tocar nos seus dados principais de desenvolvimento:
| Comando | O que faz |
|---|
yarn twenty docker:start --test | Inicia a instância de teste (padrão: porta 2021) |
yarn twenty docker:stop --test | Para |
yarn twenty docker:status --test | Mostra seu status |
yarn twenty docker:logs --test | Transmite seus logs |
yarn twenty docker:reset --test | Apaga seus dados |
yarn twenty docker:upgrade --test | Atualiza sua imagem |
A instância de teste tem seu próprio contêiner (twenty-app-dev-test), volumes (twenty-app-dev-test-data, twenty-app-dev-test-storage) e configuração — ela é executada junto com sua instância principal sem conflitos. Combine --test com --port para substituir 2021.
Configuração manual (sem o gerador)
Ignore o gerador se você estiver adicionando o SDK a um projeto existente:
yarn add twenty-sdk twenty-client-sdk
Adicione o script ao package.json:
{
"scripts": {
"twenty": "twenty"
}
}
Agora você pode executar yarn twenty dev, yarn twenty docker:start e o restante.
Não instale twenty-sdk globalmente — fixe-o por projeto, para que cada aplicativo use sua própria versão.