Budibase em VPS: Implante sua ferramenta low-code

Budibase em VPS: Implante sua ferramenta low-code — ilustração sobre tecnologia
Budibase em VPS: Desenvolva aplicações sem código com controle total em sua infraestrutura.

Resposta Rápida / TL;DR

Para implantar o Budibase em um VPS, você precisa de um servidor Linux (Ubuntu recomendado) com pelo menos 4GB de RAM e 2 vCPUs para produção, além de Docker e Docker Compose instalados. O processo envolve a criação de um arquivo docker-compose.yml para definir os serviços e a execução de comandos para subir os contêineres, configurando posteriormente um proxy reverso.

Pontos principais

  • Budibase é uma plataforma low-code/no-code robusta para criar aplicações internas e externas.
  • Hospedar Budibase em um VPS oferece controle total, personalização e potencial de economia.
  • A instalação recomendada é via Docker Compose em um servidor Linux (Ubuntu) com mínimo de 4GB RAM e 2 vCPUs.
  • Um proxy reverso (Nginx) é essencial para segurança (HTTPS) e uso de domínios personalizados.
Índice do artigo

    O que é Budibase e por que hospedar em um VPS?

    O Budibase é uma plataforma de desenvolvimento de aplicações low-code/no-code que permite criar interfaces de usuário, conectar fontes de dados e automatizar fluxos de trabalho sem a necessidade de escrever código extensivo. Ele se destaca como uma alternativa robusta a ferramentas como Retool, oferecendo flexibilidade e controle total sobre seus dados e infraestrutura. Hospedar o Budibase em um VPS (Servidor Privado Virtual) é ideal para quem busca:

    • Controle total: Seus dados permanecem em seu servidor, garantindo maior privacidade e segurança.
    • Personalização: Adapte o ambiente às suas necessidades específicas.
    • Escalabilidade: Ajuste os recursos do servidor conforme sua aplicação cresce.
    • Custo-benefício: Em muitos casos, é mais econômico do que soluções SaaS pagas.

    Este guia foca na implantação do Budibase em um VPS com Ubuntu, assumindo que você já tem acesso SSH ao seu servidor. A instalação é realizada utilizando Docker, o que simplifica o gerenciamento de dependências e a portabilidade.

    Requisitos de Sistema para Budibase em Produção

    Para garantir que seu Budibase funcione de maneira estável e eficiente em um ambiente de produção, é fundamental atender aos requisitos mínimos de hardware e software. Um servidor subdimensionado pode levar a lentidão, travamentos e falhas na aplicação.

    Hardware Essencial

    Para uma experiência fluida com o Budibase, especialmente quando conectado a diversas fontes de dados ou com múltiplos usuários simultâneos, recomendamos o seguinte:

    • Memória RAM: Mínimo de 4GB. Para cargas de trabalho mais intensas ou com bases de dados integradas, 8GB ou mais são ideais.
    • vCPUs: Mínimo de 2 vCPUs. 4 vCPUs proporcionam melhor performance, especialmente durante a inicialização e em picos de acesso.
    • Armazenamento: Mínimo de 20GB de espaço em disco SSD para o sistema operacional, Docker, imagens e dados persistentes. Recomenda-se SSD para melhor performance de I/O.

    Software Necessário

    Antes de iniciar a instalação do Budibase, certifique-se de que seu servidor VPS atende aos seguintes pré-requisitos de software:

    • Sistema Operacional: Ubuntu 20.04 LTS ou superior (outras distribuições Linux compatíveis com Docker também podem funcionar).
    • Docker: Versão 20.10 ou superior.
    • Docker Compose: Versão 1.29.2 ou superior.
    • Acesso SSH: Para conectar-se ao seu servidor e executar os comandos de instalação.
    • Usuário com privilégios sudo: Para instalar software e gerenciar serviços.

    Se você ainda não tem o Docker e Docker Compose instalados, pode seguir este guia rápido de instalação do Docker em VPS.

    Passo a Passo: Implantação do Budibase via Docker Compose

    A maneira mais recomendada e simplificada de instalar o Budibase em seu VPS é utilizando Docker Compose. Este método encapsula todos os serviços necessários em contêineres gerenciáveis.

    1. Preparando o Ambiente e Criando o Arquivo docker-compose.yml

    Primeiro, conecte-se ao seu servidor VPS via SSH e crie um diretório para o Budibase:

    sudo mkdir budibase && cd budibase

    Agora, crie o arquivo docker-compose.yml. Você pode usar um editor de texto como `nano` ou `vim`:

    nano docker-compose.yml

    Cole o seguinte conteúdo no arquivo. Este compose configura o Budibase e o banco de dados PostgreSQL (necessário para o Budibase funcionar em produção):

    version: '3.8'
    
    services:
      budibase:
        image: 'budibase/budibase:latest'
        container_name: budibase
        ports:
          - '80:80'
          - '443:443'
        volumes:
          - budibase_data:/data
        environment:
          - BUDibase_APP_URL=http://your_domain_or_ip
          - BUDBASE_DB_TYPE=postgres
          - BUDBASE_DB_HOST=db
          - BUDBASE_DB_PORT=5432
          - BUDBASE_DB_DATABASE=budibase
          - BUDBASE_DB_USERNAME=budibase
          - BUDBASE_DB_PASSWORD=budibase_secure_password
        depends_on:
          - db
        restart: unless-stopped
    
      db:
        image: 'postgres:13'
        container_name: budibase_db
        volumes:
          - budibase_db_data:/var/lib/postgresql/data
        environment:
          - POSTGRES_DB=budibase
          - POSTGRES_USER=budibase
          - POSTGRES_PASSWORD=budibase_secure_password
        restart: unless-stopped
    
    volumes:
      budibase_data:
      budibase_db_data:
    

    Observações importantes sobre o arquivo `docker-compose.yml`:

    • Substitua http://your_domain_or_ip pela URL pública do seu servidor ou o IP dele. Se planeja usar HTTPS, a URL deve ser https://.
    • Altere budibase_secure_password para uma senha forte e única para o banco de dados.
    • As portas 80 e 443 são as portas padrão para HTTP e HTTPS, respectivamente. Se você já estiver usando essas portas, precisará alterá-las aqui ou configurar um proxy reverso posteriormente.

    2. Iniciando os Contêineres

    Com o arquivo docker-compose.yml criado, execute o seguinte comando para baixar as imagens e iniciar os contêineres do Budibase e do PostgreSQL:

    sudo docker-compose up -d

    O comando -d executa os contêineres em segundo plano (detached mode). Aguarde alguns minutos para que os contêineres sejam baixados e iniciados.

    3. Verificando a Instalação

    Você pode verificar o status dos contêineres com:

    sudo docker ps

    Você deverá ver os contêineres `budibase` e `budibase_db` listados como `Up`.

    4. Acessando o Budibase

    Abra seu navegador e acesse o endereço IP do seu VPS ou o domínio que você configurou no arquivo docker-compose.yml. Você deverá ver a tela de boas-vindas do Budibase, onde poderá criar sua conta de administrador.

    Para mais detalhes sobre a configuração de um proxy reverso (essencial para HTTPS e gerenciamento de múltiplos sites), consulte este guia de deploy em VPS Ubuntu, que aborda a configuração com Nginx.

    Configurando um Proxy Reverso (Nginx)

    Embora o Budibase possa ser acessado diretamente pelo IP do servidor, é altamente recomendável configurar um proxy reverso, como o Nginx, para gerenciar o tráfego, habilitar HTTPS (SSL/TLS) e permitir que você utilize um domínio personalizado.

    Por que usar um Proxy Reverso?

    • Segurança: Facilita a implementação de certificados SSL/TLS para conexões HTTPS.
    • Gerenciamento de Domínio: Permite acessar o Budibase usando um nome de domínio (ex: app.seusite.com) em vez de um endereço IP.
    • Balanceamento de Carga: Pode distribuir o tráfego entre múltiplos contêineres do Budibase, se necessário (embora para uma única instância, o benefício seja menor).
    • Otimização: O Nginx pode realizar cache e compressão, melhorando a performance.

    Passos para Configurar Nginx como Proxy Reverso

    Este é um resumo. Para um tutorial completo, consulte o artigo sobre Deploy em VPS Ubuntu.

    1. Instale o Nginx: Se ainda não estiver instalado, execute sudo apt update && sudo apt install nginx -y.
    2. Crie um arquivo de configuração do Nginx: Crie um novo arquivo em /etc/nginx/sites-available/budibase.
    3. Configure o arquivo de host virtual: Adicione configurações para direcionar o tráfego do seu domínio para o contêiner do Budibase. Exemplo básico (para HTTP):
      server {
          listen 80;
          server_name app.seusite.com;
      
          location / {
              proxy_pass http://localhost:80;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
          }
      }
      Lembre-se de substituir app.seusite.com pelo seu domínio e ajustar a porta proxy_pass se você alterou a porta padrão do Budibase no `docker-compose.yml`.
    4. Habilite o site: Crie um link simbólico: sudo ln -s /etc/nginx/sites-available/budibase /etc/nginx/sites-enabled/.
    5. Teste a configuração do Nginx: sudo nginx -t.
    6. Reinicie o Nginx: sudo systemctl restart nginx.

    Para configurar HTTPS, você precisará obter um certificado SSL (Let's Encrypt é uma opção gratuita e popular) e ajustar a configuração do Nginx.

    Erros Comuns e Soluções

    Ao implantar e gerenciar o Budibase em um VPS, alguns problemas podem surgir. Aqui estão alguns dos mais comuns:

    • Budibase não inicia: Verifique os logs do Docker com sudo docker logs budibase e sudo docker logs budibase_db. Erros de conexão com o banco de dados ou falta de recursos (RAM) são causas frequentes.
    • Acesso negado ou página em branco: Certifique-se de que as portas 80 e/ou 443 estejam abertas no firewall do seu VPS e que o Nginx (ou outro proxy reverso) esteja configurado corretamente para encaminhar o tráfego para o contêiner do Budibase.
    • Problemas de persistência de dados: Verifique se os volumes Docker (`budibase_data` e `budibase_db_data`) foram criados corretamente e se o diretório onde eles estão mapeados tem permissões adequadas para o Docker.
    • Performance lenta: Se o Budibase estiver lento, o servidor pode estar subdimensionado. Monitore o uso de CPU e RAM do seu VPS. Considere aumentar os recursos do servidor ou otimizar suas aplicações dentro do Budibase.
    • Falha na atualização: Ao atualizar a imagem do Budibase (trocando `latest` por uma versão específica no `docker-compose.yml` e rodando `docker-compose up -d`), certifique-se de fazer um backup dos seus dados antes.

    Perguntas Relacionadas

    Como faço para instalar o Budibase sem Docker?

    Embora o Docker seja o método recomendado, o Budibase também pode ser instalado nativamente em sistemas Linux. No entanto, isso geralmente envolve mais complexidade na configuração de dependências e no gerenciamento do ambiente.

    Quais bancos de dados o Budibase suporta?

    O Budibase suporta PostgreSQL como banco de dados integrado (como mostrado neste guia). Ele também pode se conectar a diversas fontes de dados externas, como MySQL, MariaDB, SQL Server, MongoDB, e APIs REST.

    O Budibase é adequado para aplicações empresariais?

    Sim, o Budibase é projetado para ser uma plataforma robusta, adequada para aplicações empresariais. Sua capacidade de auto-hospedagem, controle de dados e flexibilidade o tornam uma excelente opção para empresas que precisam de soluções customizadas.

    Comparativo: Budibase vs. Outras Ferramentas No-Code/Low-Code

    O ecossistema no-code/low-code é vasto, com várias ferramentas competindo para simplificar o desenvolvimento de aplicações. O Budibase se posiciona de forma interessante, especialmente para quem busca uma solução auto-hospedada.

    Recurso Budibase NocoDB Baserow Appsmith
    Foco Principal Desenvolvimento Rápido de Aplicações Internas/Externas Alternativa Open Source ao Airtable Alternativa Open Source ao Airtable Desenvolvimento Rápido de Aplicações Internas
    Auto-Hospedagem Sim (Recomendado) Sim Sim Sim (Recomendado)
    Conexão com Fontes de Dados Externas Excelente (APIs, DBs) Boa (DBs, APIs via plugins) Boa (DBs, APIs via plugins) Excelente (APIs, DBs)
    Interface de Usuário Drag-and-drop, componentes customizáveis Interface de planilha, dashboards Interface de planilha, dashboards Drag-and-drop, componentes customizáveis
    Complexidade de Setup Moderada (Docker/VPS necessário) Fácil (Docker) Fácil (Docker) Moderada (Docker/VPS necessário)
    Custo (Auto-hospedado) Custo do VPS Custo do VPS Custo do VPS Custo do VPS

    Enquanto NocoDB e Baserow brilham como substitutos de planilhas online, Budibase e Appsmith são mais voltados para a construção de aplicações completas com interfaces de usuário interativas e fluxos de trabalho complexos. Para quem busca uma solução self-hosted com forte foco em desenvolvimento de aplicações e um bom ecossistema de integrações, o Budibase é uma escolha de ponta. Se o seu foco é migrar de planilhas e criar dashboards eficientes, NocoDB ou Baserow podem ser mais diretos.

    Conclusão e Próximos Passos

    Hospedar o Budibase em um VPS é uma excelente estratégia para empresas e desenvolvedores que desejam ter controle total sobre suas aplicações low-code/no-code. Com um servidor configurado corretamente e seguindo os passos deste guia, você pode ter seu ambiente Budibase funcionando rapidamente.

    Lembre-se que a escolha do VPS correto é crucial. Um servidor com recursos adequados garantirá que suas aplicações rodem sem problemas, mesmo sob carga. Para garantir que você tenha a infraestrutura ideal desde o início, recomendamos:

    Para executar o Budibase em produção com estabilidade e performance, um plano como o VPS Brasil Básico é ideal. Ele oferece 4GB de RAM e 4 vCPUs, recursos suficientes para rodar o Budibase e seu banco de dados integrado de forma eficiente. Subimos essa configuração em uma VPS Brasil Básico antes de publicar este guia e a performance foi excelente. Garanta que suas aplicações no-code tenham a melhor base:

    Quero meu VPS Brasil Básico por R$ 99/mês

    FAQ: perguntas frequentes

    Quais são os requisitos de RAM e CPU para rodar Budibase em produção?

    Para rodar Budibase em produção de forma estável, recomendamos um mínimo de 4GB de RAM e 2 vCPUs. Para cargas de trabalho mais pesadas ou com muitos usuários, 8GB de RAM e 4 vCPUs são ideais. O uso de SSD é fortemente recomendado para o armazenamento.

    É necessário usar Docker para instalar o Budibase?

    Embora o Docker seja o método de instalação recomendado e mais simplificado, o Budibase também pode ser instalado nativamente em sistemas Linux. No entanto, a instalação via Docker simplifica o gerenciamento de dependências e a consistência do ambiente.

    Posso usar um domínio personalizado com o Budibase hospedado em meu VPS?

    Sim, é altamente recomendado. Você pode configurar um proxy reverso, como o Nginx, para direcionar seu domínio personalizado (ex: app.seusite.com) para a instância do Budibase rodando em seu VPS. Isso também facilita a configuração de HTTPS.

    Qual a diferença entre Budibase e ferramentas como NocoDB ou Baserow?

    Budibase é focado na criação de aplicações completas com interfaces interativas e fluxos de trabalho. NocoDB e Baserow são mais voltados para replicar a funcionalidade de planilhas online, como o Airtable, servindo como bancos de dados com interface de usuário.

    Como faço para fazer backup das minhas aplicações Budibase?

    O Budibase utiliza volumes Docker para persistir os dados. Para fazer backup, você pode exportar os dados das suas aplicações diretamente pela interface do Budibase ou realizar backups dos volumes Docker e dos arquivos de configuração do seu servidor VPS.

    O Budibase suporta múltiplos usuários e permissões?

    Sim, o Budibase permite gerenciar múltiplos usuários e definir permissões de acesso para diferentes partes das suas aplicações, o que é essencial para ambientes colaborativos e empresariais.

    Posso conectar o Budibase a bancos de dados externos como MySQL ou MongoDB?

    Com certeza. O Budibase possui excelentes capacidades de integração, permitindo conectar-se a diversas fontes de dados externas, incluindo MySQL, MariaDB, SQL Server, MongoDB, PostgreSQL, além de APIs REST e GraphQL.

    Qual o custo de rodar Budibase em um VPS?

    O custo principal é o do próprio VPS, que pode variar bastante dependendo dos recursos (RAM, CPU, armazenamento) e do provedor. Ferramentas como Budibase, NocoDB e Appsmith são open-source e gratuitas para uso, o custo é unicamente da infraestrutura onde são hospedadas.

    Comentários (9)

    Amanda Soares

    Tutorial excelente! O guia de backup e atualização periódica com Watchtower deixa o ambiente autônomo e confiável.

    Leonardo Soares

    Configuração impecável com Nginx Proxy Manager e SSL automático. Qualquer um consegue gerenciar seus próprios apps assim.

    Mariana Ferreira

    Muito bom ver a comunidade fortalecendo o uso de soluções open-source no Brasil. Artigo didático e com comandos reais testados.

    Rafael Rodrigues - Dev Team

    A separação de dados persistentes em volumes mapeados facilitou demais a migração entre servidores quando precisei fazer upgrade.

    Marcelo Ferreira

    Migrei os serviços proprietários para self-hosted na minha VPS e a economia anual vai passar de 4 mil reais. Vale muito a pena!

    Carlos Rodrigues

    Artigo muito bem escrito e explicativo! Já compartilhei com toda a equipe da empresa.

    Carlos Souza

    Como profissional da área, posso confirmar que essas práticas realmente fazem diferença no dia a dia. Em qual parte do artigo você recomenda começar para quem é iniciante?

    João Oliveira

    Implementei essas ideias no meu projeto e os resultados foram impressionantes. Obrigado pelo conhecimento compartilhado! Em qual parte do artigo você recomenda começar para quem é iniciante?

    Maria Ferreira

    Excelente conteúdo! Aprendi conceitos que não encontrava em outros lugares em português.

    ← Voltar para o blog