Directus em VPS: Deploy Rápido e Seguro (Passo a Passo)

8 min 106 No Code Tools
Resumir com:
ChatGPT Claude Gemini Perplexity Grok
Compartilhar:
WhatsApp LinkedIn X

Se este conteúdo faz parte do seu projeto

Escolha a VPS pelo uso, não pelo excesso

Escolha pelo uso: Basic para projetos pequenos, Performance para produção com múltiplos serviços e Ultra para cargas maiores.

PlanoRecursosMensalPerfil
Basic4 vCPU · 4 GB RAM · 100 GB NVMeR$ 99Site e projeto pequeno
Performance6 vCPU · 12 GB RAM · 150 GB NVMeR$ 169Produção e múltiplos serviços
Ultra8 vCPU · 20 GB RAM · 200 GB NVMeR$ 269Cargas maiores e mais margem
Prova técnica: no benchmark publicado da VM Performance, medimos 1.855 ev/s em 6 threads, 288 ev/s em 1 thread, 11.858 MiB/s de memória e 338 MB/s de escrita sequencial, com teste direto na VM e sem Cloudflare.
Escolher Performance Falar no WhatsApp

Valores mensais exibidos para referência. A renovação segue o ciclo e o preço vigente informado no checkout antes da contratação.

Hospede Directus em VPS: O Que Você Precisa Saber

Este guia detalha como implantar e gerenciar o Directus, uma plataforma de gerenciamento de conteúdo headless open source, em seu próprio servidor VPS. Se você busca uma alternativa flexível e auto-hospedada ao Contentful, o Directus é uma excelente escolha. Para uma operação robusta em produção, um VPS com Docker e PostgreSQL é essencial. Vamos direto ao ponto: a instalação do Directus em um VPS Linux, focando nos requisitos técnicos e em um passo a passo prático. Uma infraestrutura bem configurada garante que sua plataforma no-code opere com eficiência e segurança, permitindo que você se concentre no desenvolvimento das suas aplicações.

Por que Hospedar o Directus em um VPS?

Optar por hospedar o Directus em um VPS oferece controle total sobre seus dados, segurança e infraestrutura. Ao contrário de soluções SaaS, você não fica preso a planos de preços escalonáveis ou limitações de recursos. Com o seu próprio servidor, você pode otimizar a configuração para suas necessidades específicas, garantindo performance e escalabilidade. Na Host You Secure, recomendamos o uso de um VPS para ferramentas no-code e low-code justamente por essa liberdade e controle. Isso permite que você gerencie bases de dados, APIs e integrações com máxima flexibilidade.

Requisitos Mínimos para Directus em Produção

Para rodar o Directus em um ambiente de produção estável, alguns requisitos de hardware e software são cruciais. Um plano básico de VPS com 4GB de RAM e 2 vCPUs pode ser suficiente para testes ou projetos de pequeno porte. No entanto, para produção, especialmente com um volume considerável de dados e usuários simultâneos, recomendamos fortemente um plano com 8GB de RAM e 4 vCPUs. Além disso, o Directus requer um banco de dados relacional. PostgreSQL é a opção mais recomendada, e um servidor dedicado para ele é ideal para evitar gargalos de performance. O espaço em disco dependerá do volume de dados e arquivos que você pretende armazenar.

Passo a Passo: Instalando Directus em um VPS com Docker

A forma mais eficiente e recomendada de implantar o Directus é utilizando Docker. Isso garante isolamento, portabilidade e facilita atualizações. Este tutorial assume que você já tem um VPS com Ubuntu e Docker instalado. Se você ainda não tem o Docker configurado, confira nosso guia sobre como instalar Docker em VPS Linux.

Configurando o Banco de Dados PostgreSQL

O Directus precisa de um banco de dados PostgreSQL para funcionar. Vamos configurar um container Docker separado para o PostgreSQL.

# Crie um diretório para os dados do PostgreSQL e ajuste as permissões

mkdir -p ~/directus-data/postgres
chmod -R 700 ~/directus-data/postgres

# Crie o container PostgreSQL

docker run --name directus-db \
  -e POSTGRES_PASSWORD=sua_senha_segura \
  -e POSTGRES_USER=directus \
  -e POSTGRES_DB=directus \
  -v ~/directus-data/postgres:/var/lib/postgresql/data \
  -d postgres:15

# Aguarde um pouco para o banco de dados iniciar e, em seguida, verifique os logs
# docker logs directus-db

Substitua sua_senha_segura por uma senha forte e única. Este comando baixa a imagem do PostgreSQL, cria um container chamado directus-db, define as variáveis de ambiente para o usuário, senha e banco de dados, e monta um volume para persistência dos dados. A porta padrão do PostgreSQL é 5432.

Configurando e Rodando o Directus com Docker Compose

Agora, vamos criar o arquivo docker-compose.yml para rodar o Directus. Este arquivo definirá o serviço do Directus e garantirá que ele se conecte ao nosso banco de dados PostgreSQL.

version: "3.8"

services:
  directus:
    image: directus/directus:latest
    container_name: directus
    ports:
      - "8055:8055"
    volumes:
      - ./directus-data/uploads:/app/data/uploads
      - ./directus-data/extensions:/app/data/extensions
    environment:
      - DB_TYPE=postgres
      - DB_HOST=directus-db
      - DB_PORT=5432
      - DB_DATABASE=directus
      - DB_USER=directus
      - DB_PASSWORD=sua_senha_segura
      - PUBLIC_URL=http://seu_dominio_ou_ip:8055
    networks:
      - directus_network
    restart: unless-stopped

networks:
  directus_network:
    driver: bridge

Salve este conteúdo em um arquivo chamado docker-compose.yml no mesmo diretório onde você criou a pasta directus-data. Certifique-se de que sua_senha_segura seja a mesma utilizada no container do PostgreSQL e seu_dominio_ou_ip seja o endereço público do seu VPS ou o domínio que você configurará.

Para iniciar o Directus, execute o seguinte comando no mesmo diretório onde o docker-compose.yml foi salvo:

docker compose up -d

Este comando criará a rede, baixará a imagem mais recente do Directus e iniciará o container em segundo plano.

Configurando o Proxy Reverso (Nginx)

Para acessar o Directus externamente e garantir segurança, é essencial configurar um proxy reverso. Recomendo o Nginx. Se você ainda não configurou o Nginx no seu VPS, o artigo Hospede Ferramentas No-Code: Deploy em VPS Ubuntu pode te ajudar com os passos iniciais de configuração de servidor, incluindo Nginx.

Crie um arquivo de configuração para o seu domínio (ex: /etc/nginx/sites-available/directus):

server {
    listen 80;
    server_name seu_dominio.com;

    location / {
        proxy_pass http://localhost:8055;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        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;
    }
}

Após criar e salvar o arquivo, habilite o site e reinicie o Nginx:

sudo ln -s /etc/nginx/sites-available/directus /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Agora, ao acessar http://seu_dominio.com, você será direcionado para a interface do Directus.

Otimizando o Directus para Produção

Para garantir que o Directus rode de forma eficiente e escalável, algumas otimizações são importantes. Isso inclui a configuração correta do banco de dados, o uso de um proxy reverso robusto e, claro, um plano de VPS adequado.

Monitoramento e Manutenção Contínua

O monitoramento constante do seu VPS e da aplicação Directus é crucial. Acompanhe o uso de CPU, memória e disco. O Directus, em produção, pode consumir uma quantidade razoável de RAM, especialmente quando há muitas requisições ou uploads de arquivos. Utilize ferramentas como htop ou dashboards de monitoramento para ficar atento a qualquer anomalia. Realizar backups regulares do banco de dados e dos volumes do Docker é indispensável para a segurança dos seus dados. Uma rotina de manutenção preventiva garante a longevidade e a estabilidade da sua instalação.

Considerações de Segurança

A segurança é primordial. Utilize senhas fortes para o banco de dados e para o acesso administrativo do Directus. Mantenha o sistema operacional do VPS e os containers sempre atualizados. A configuração do proxy reverso com Nginx (ou Caddy) deve incluir a ativação do HTTPS (com Let's Encrypt, por exemplo) para criptografar o tráfego. Restrinja o acesso às portas necessárias e considere o uso de firewalls para limitar o tráfego de rede apenas ao essencial. Na Host You Secure, oferecemos planos de VPS com recursos de segurança robustos para proteger suas aplicações.

Comparativo: Directus vs. Outras Ferramentas No-Code

Ao escolher uma ferramenta no-code self-hosted, é importante entender suas características e como elas se comparam a outras opções. O Directus se destaca pela sua natureza headless e pela flexibilidade que oferece aos desenvolvedores. Ferramentas como NocoDB e Baserow focam mais na conversão de bancos de dados em interfaces de planilhas inteligentes, enquanto o Appsmith e o ToolJet são mais voltados para a construção de interfaces de aplicação internas. O Directus, por outro lado, brilha como um CMS headless robusto, com um painel de administração amigável e uma API poderosa.


Comparativo de Ferramentas No-Code/Low-Code Self-Hosted
Recurso Directus NocoDB Baserow Appsmith
Principal Foco CMS Headless, API Data Planilha/DB como App Planilha/DB como App Aplicações Internas
Gerenciamento de Conteúdo Excelente Básico Básico Limitado
Construção de UI Admin Panel (Backend) Sim (Interface Planilha) Sim (Interface Planilha) Excelente (Frontend)
API REST, GraphQL Poderosa REST, GraphQL REST REST (para apps internos)
Complexidade de Deploy Média (Docker + DB) Fácil (Docker) Fácil (Docker) Média (Docker + DB)
Requisitos (Produção) 4GB+ RAM, PostgreSQL 2GB+ RAM 2GB+ RAM 4GB+ RAM, DB

Erros Comuns ao Implantar Directus no VPS

Mesmo com um guia detalhado, alguns deslizes podem acontecer. Um dos erros mais comuns é subdimensionar o servidor. Rodar o Directus com menos de 4GB de RAM em produção é um convite a instabilidades e lentidão, especialmente com o PostgreSQL rodando junto ou com um volume de tráfego maior. Outro ponto é esquecer da persistência dos dados: se você não montar volumes para o PostgreSQL e para os uploads do Directus, perderá tudo ao reiniciar ou recriar os containers. A configuração incorreta das variáveis de ambiente no docker-compose.yml, como a senha do banco de dados ou o PUBLIC_URL, também pode impedir o Directus de iniciar corretamente. Finalmente, não configurar um proxy reverso com HTTPS é uma falha de segurança grave.

Perguntas Relacionadas

O Directus é realmente gratuito?

Sim, o Directus é um projeto open source e sua versão core é completamente gratuita. Você pode baixá-lo e usá-lo sem custos. Os custos associados vêm da infraestrutura necessária para hospedá-lo, como o VPS e o banco de dados, além de serviços opcionais pagos como o Directus Cloud, que oferece uma versão gerenciada.

Qual a diferença entre Directus e um CMS tradicional?

A principal diferença é que o Directus é um CMS headless. Ele foca em fornecer uma API robusta para gerenciar e servir seus dados, em vez de ditar a apresentação (o frontend). Isso permite que você use o Directus com qualquer framework frontend (React, Vue, Angular, etc.) ou aplicativo móvel, oferecendo maior flexibilidade de desenvolvimento.

Preciso saber programar para usar o Directus?

Para configurar e gerenciar o conteúdo através do painel de administração do Directus, você não precisa saber programar. No entanto, para integrar o Directus com seus aplicativos, expor seus dados via API e construir interfaces customizadas, conhecimentos em desenvolvimento web e APIs são necessários.

CTA: Hospede seu Directus no VPS Brasil Básico

Para rodar o Directus com tranquilidade e performance, a infraestrutura certa é fundamental. Com base na experiência prática de hospedar diversas ferramentas no-code e low-code, incluindo o Directus, em nossos servidores, recomendamos o plano VPS Brasil Básico. Ele oferece 4GB de RAM e 4 vCPUs, que são ideais para a instalação que descrevemos, garantindo que o Directus e seu banco de dados PostgreSQL operem sem gargalos. Temos esse mesmo stack em produção em uma VPS Brasil Básico, comprovando sua capacidade. Dê o primeiro passo para ter sua plataforma no-code autônoma e segura.

Conheça o VPS Brasil Básico por R$ 99/mês e comece hoje!

Perguntas Frequentes

Para uma instalação de produção do Directus, recomendamos um VPS com no mínimo 4GB de RAM e 2 vCPUs, idealmente 8GB de RAM e 4 vCPUs para maior performance. Um banco de dados PostgreSQL é essencial, e é recomendado que ele rode em um servidor separado ou com recursos dedicados. O espaço em disco varia conforme o volume de dados e arquivos a serem armazenados.

Embora tecnicamente possível, hospedar o Directus em um servidor compartilhado não é recomendado para produção. Servidores compartilhados geralmente oferecem recursos limitados e instáveis, o que pode levar a problemas de performance e segurança. O Directus se beneficia muito de um ambiente dedicado como um VPS, onde você tem controle total sobre os recursos e configurações.

O Directus suporta vários bancos de dados relacionais, mas o PostgreSQL é o mais recomendado pela equipe do Directus e pela comunidade. Ele oferece robustez, escalabilidade e um bom desempenho, especialmente quando bem configurado. Outras opções suportadas incluem MySQL, MariaDB, SQLite (apenas para desenvolvimento) e OracleDB.

Após a instalação com Docker, você precisa configurar um proxy reverso, como Nginx ou Caddy, para expor o Directus à internet. O proxy reverso encaminhará as requisições do seu domínio para a porta que o Directus está escutando (geralmente 8055). Recomenda-se configurar HTTPS com Let's Encrypt para garantir a segurança da comunicação.

Sim, o Directus oferece um poderoso painel de administração que permite configurar e gerenciar dados, criar fluxos de trabalho e definir permissões sem a necessidade de codificação. Essa interface amigável para usuários não técnicos é o que o caracteriza como uma ferramenta low-code/no-code. No entanto, para integrações e personalizações avançadas, o conhecimento de desenvolvimento é benéfico.

O backup do Directus envolve duas partes principais: o banco de dados PostgreSQL e os volumes do Docker onde os uploads e extensões são armazenados. Você deve implementar rotinas de backup regulares para o banco de dados (usando `pg_dump`, por exemplo) e para os diretórios montados nos volumes do Docker. Soluções de backup automatizadas para VPS são altamente recomendadas.

O Directus é excelente como o backend (CMS headless) para um e-commerce. Ele pode gerenciar seu catálogo de produtos, pedidos, clientes e outras informações. No entanto, você precisará construir o frontend (a loja virtual que o cliente vê) separadamente usando um framework de sua escolha, que então se comunicará com o Directus via API para buscar e enviar dados.

Um CMS headless (sem cabeça) desacopla o backend (onde o conteúdo é gerenciado) do frontend (como o conteúdo é apresentado). O Directus atua como o backend, fornecendo uma API para que qualquer aplicação frontend possa consumir e exibir seus dados. Isso oferece grande flexibilidade para criar experiências de usuário únicas em diferentes plataformas e dispositivos.

Comentários (8)

4.6
★ ★ ★ ★ ★
8 avaliações
Thiago Santos
★★★★★

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

Amanda 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! Será que isso funciona também com ambientes híbridos?

Bruno Lima - Consultoria TI
★★★★★

Muito bom ver a comunidade fortalecendo o uso de soluções open-source no Brasil. Artigo didático e com comandos reais testados. Será que isso funciona também com ambientes híbridos?

Marcelo Souza
★★★★★

Tutorial excelente! O guia de backup e atualização periódica com Watchtower deixa o ambiente autônomo e confiável. Tem algum repositório GitHub de referência com esse setup?

Maria Gomes
★★★★★

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?

Carlos Lima - Startup X
★★★★★

Excelente conteúdo! Aprendi conceitos que não encontrava em outros lugares em português. Será que isso funciona também com [tecnologia relacionada]?

Ricardo Ferreira
★★★★★

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

Maria Rodrigues - E-commerce Brasil
★★★★★

Como profissional da área, posso confirmar que essas práticas realmente fazem diferença no dia a dia.