Directus no VPS: Deploy Rápido e Seguro

Directus no VPS: Deploy Rápido e Seguro

Resposta Rápida / TL;DR

Hospedar o Directus em um VPS como o VPS Brasil Básico (4GB RAM, 4 vCPUs) permite controle total sobre seus dados e customização da infraestrutura. O deploy envolve a configuração do banco de dados e do próprio Directus, geralmente via Docker Compose, garantindo um custo fixo e segurança.

Pontos principais

  • Directus em VPS oferece controle total de dados e custo fixo previsível.
  • O deploy via Docker Compose simplifica a instalação e gestão da infraestrutura própria.
  • Requisitos mínimos de 4GB RAM e 2 vCPUs são ideais para produção com PostgreSQL.
  • Configurar um proxy reverso com Nginx e HTTPS é crucial para segurança e acesso.
Índice do artigo

    Deploy do Directus em seu VPS: Controle Total e Custo Fixo

    Este guia detalha o processo de instalação e configuração do Directus em um servidor VPS, garantindo que você tenha a autonomia e a segurança de uma infraestrutura própria. O Directus é uma alternativa open-source poderosa ao Contentful, permitindo gerenciar qualquer tipo de dado e construir APIs RESTful e GraphQL rapidamente. Ao optar pelo self-hosting, você assume controle total sobre seus dados, custos e a personalização da sua solução. Para um deploy robusto, um VPS com no mínimo 4GB de RAM e 2 vCPUs é recomendado para o Directus e seu banco de dados PostgreSQL em produção. Se você busca otimizar seu custo fixo e ter a liberdade de um bare metal virtualizado, este tutorial é para você.

    Na minha experiência, muitos clientes que migram para o self-hosting buscam exatamente esse equilíbrio entre funcionalidade e controle. Um dos desafios iniciais é o próprio deploy, que pode parecer complexo, mas com as ferramentas certas como Docker, torna-se um processo direto e replicável. Este artigo foca em apresentar um passo a passo prático para que você possa ter seu Directus rodando em minutos.

    Por que Auto-Hospedar o Directus?

    Auto-hospedar o Directus oferece vantagens significativas em termos de controle de dados, segurança e personalização. Diferente de plataformas SaaS, você não está sujeito a mudanças de política de privacidade, aumentos de preço imprevisíveis ou limitações de recursos. Com sua infraestrutura própria, você define suas regras de acesso, backups e integrações. Além disso, o custo fixo de um VPS é frequentemente mais previsível e, a longo prazo, mais econômico do que planos de assinatura de serviços gerenciados, especialmente para projetos com volume de dados crescente.

    A liberdade de integrar o Directus com outras ferramentas self-hosted, como um Gitea para versionamento de código ou um Paperless-ngx para gestão de documentos, é outra vantagem crucial. Essa arquitetura permite construir um ecossistema digital totalmente sob seu comando.

    Requisitos de Servidor para Directus em Produção

    Para rodar o Directus em produção de forma eficiente e estável, é essencial provisionar um servidor com recursos adequados. Recomendo um VPS com as seguintes especificações mínimas:

    • RAM: 4GB (essencial para o Directus e o banco de dados PostgreSQL rodando simultaneamente)
    • vCPUs: 2 (para garantir bom desempenho em operações comuns e API)
    • Armazenamento: 20GB SSD (para o sistema operacional, Docker, Directus, banco de dados e logs, com espaço para crescimento)
    • Sistema Operacional: Linux (Ubuntu LTS recomendado)

    Estes requisitos são uma base sólida para cenários de uso moderado. Para aplicações com alto tráfego de API, muitos usuários simultâneos ou grandes volumes de dados a serem geridos, pode ser necessário escalar para 8GB de RAM e 4 vCPUs. É importante notar que o consumo de RAM pode variar significativamente dependendo da carga de trabalho, número de extensões instaladas e complexidade das queries.

    Na Host You Secure, oferecemos planos de VPS Brasil que atendem a esses requisitos, permitindo que você mantenha seu custo fixo sob controle enquanto garante a performance necessária.

    Passo a Passo: Instalação do Directus com Docker Compose

    A maneira mais prática e recomendada de implantar o Directus em um VPS é utilizando Docker e Docker Compose. Isso garante isolamento, portabilidade e facilita futuras atualizações. Se você ainda não tem o Docker e o Docker Compose instalados, siga nosso guia sobre como instalar Docker em VPS.

    Crie um diretório para o seu projeto Directus:

    mkdir directus-docker
    cd directus-docker

    Agora, crie o arquivo docker-compose.yml com o seguinte conteúdo:

    
    version: '3.8'
    
    services:
      directus:
        image: directus/directus:latest
        ports:
          - "8055:8055"
        environment:
          DB_CONNECTION: "postgres"
          DB_HOST: "db"
          DB_PORT: "5432"
          DB_DATABASE: "directus"
          DB_USER: "directus"
          DB_PASSWORD: "your_strong_db_password"
          DB_EXTRA_OPTIONS: "sslmode=require"
          # -- secret: DB_PASSWORD
          # -- secret: DB_USER
          # -- secret: DB_DATABASE
          # -- secret: DB_HOST
          # -- secret: DB_PORT
          # -- secret: DB_CONNECTION
          # -- secret: DB_EXTRA_OPTIONS
          KEY: "your_strong_encryption_key"
          # -- secret: KEY
          SECRET: "your_strong_secret_key"
          # -- secret: SECRET
        volumes:
          - ./data:/var/lib/directus
          - ./uploads:/var/www/directus/storage/uploads
        networks:
          - directus-network
        restart: unless-stopped
    
      db:
        image: postgres:14
        ports:
          - "5432:5432"
        environment:
          POSTGRES_DB: "directus"
          POSTGRES_USER: "directus"
          POSTGRES_PASSWORD: "your_strong_db_password"
          # -- secret: POSTGRES_DB
          # -- secret: POSTGRES_USER
          # -- secret: POSTGRES_PASSWORD
        volumes:
          - ./postgres:/var/lib/postgresql/data
        networks:
          - directus-network
        restart: unless-stopped
    
    networks:
      directus-network:
        driver: bridge
    

    Importante: Substitua your_strong_db_password, your_strong_encryption_key e your_strong_secret_key por senhas e chaves fortes e únicas. Considere usar um arquivo .env para gerenciar suas variáveis de ambiente de forma mais segura. Para isso, crie um arquivo `.env` no mesmo diretório com o conteúdo:

    
    DB_PASSWORD=sua_senha_banco_dados_forte
    KEY=sua_chave_encryptacao_forte
    SECRET=sua_chave_secreta_forte
    

    E remova as linhas `DB_PASSWORD`, `KEY`, `SECRET` do bloco `environment` do serviço `directus` e `POSTGRES_PASSWORD` do serviço `db` no seu `docker-compose.yml`. O Docker Compose carregará as variáveis automaticamente do arquivo `.env`.

    Para iniciar o Directus e o PostgreSQL, execute:

    
    docker-compose up -d
    

    Após o container ser criado e iniciado, acesse o Directus no seu navegador em http://SEU_IP_DO_VPS:8055. Siga as instruções na tela para criar sua conta de administrador e configurar seu primeiro projeto.

    Configurando Proxy Reverso com Nginx

    Para acessar o Directus de forma segura usando um domínio e porta padrão (80 ou 443), é altamente recomendável configurar um proxy reverso com Nginx. Isso também permite a configuração de SSL/TLS para HTTPS. Se você precisa de um guia detalhado para configurar Nginx como proxy reverso, confira nosso artigo sobre como configurar Nginx com Docker.

    A configuração básica no Nginx para o Directus ficaria semelhante a:

    
    server {
        listen 80;
        server_name seu.dominio.com;
    
        location / {
            proxy_pass http://localhost:8055;
            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;
        }
    }
    

    Erros Comuns e Soluções

    Ao implantar o Directus em um VPS, alguns problemas podem surgir. Conhecer as soluções comuns pode economizar muito tempo:

    • Directus não inicia: Verifique os logs do container com docker-compose logs directus. Erros de conexão com o banco de dados ou senhas incorretas são frequentes.
    • Problemas de permissão nos volumes: Certifique-se de que o usuário do Docker no seu VPS tem permissão de escrita nos diretórios mapeados para os volumes (./data, ./uploads, ./postgres).
    • Acesso negado via IP após configurar Nginx: Verifique as configurações do firewall do seu VPS (ufw) para garantir que as portas 80 e 443 estejam abertas. Certifique-se de que o Nginx está configurado corretamente para ouvir nessas portas.
    • Diretório de uploads não funciona: Garanta que o volume ./uploads esteja corretamente mapeado e que o container do Directus tenha permissão para escrever nele.

    Resolver esses pontos garante uma experiência de self-hosting mais fluida.

    Perguntas Relacionadas

    O Directus é realmente gratuito?

    Sim, o Directus é open-source e gratuito para auto-hospedar. Você só arca com os custos da infraestrutura, como o VPS. A licença MIT permite total liberdade de uso e modificação.

    Quanto de RAM o Directus precisa?

    Para um ambiente de produção estável com o banco de dados PostgreSQL, recomendamos um mínimo de 4GB de RAM. Para cargas de trabalho mais intensas, 8GB ou mais podem ser necessários.

    Posso usar outro banco de dados com Directus?

    Sim, o Directus suporta PostgreSQL, MySQL, MariaDB, SQLite e MS SQL Server. PostgreSQL é frequentemente recomendado pela performance e recursos.

    O Directus é seguro para rodar em produção?

    Com as práticas de segurança adequadas (proxy reverso, HTTPS, senhas fortes, atualizações regulares), o Directus é muito seguro. O self-hosting te dá o controle para implementar essas medidas.

    Comparativo: Directus Self-Hosted vs. Outras Soluções

    Ao escolher uma plataforma de gerenciamento de conteúdo, é importante comparar as opções. O Directus se destaca pela sua natureza open-source e flexibilidade.

    Recurso Directus (Self-Hosted) Contentful (SaaS) Strapi (Self-Hosted)
    Licença MIT (Open Source) Proprietária MIT/GPL (Open Source)
    Custo Custo da infraestrutura (VPS) Planos de assinatura (a partir de $0, mas escalam rapidamente) Custo da infraestrutura (VPS)
    Controle de Dados Total (em sua infraestrutura própria) Limitado (provedor gerencia) Total (em sua infraestrutura própria)
    API REST & GraphQL REST REST & GraphQL
    Customização Alta (extensível via SDK) Limitada pelo ecossistema Alta (plugins, customizações)
    Facilidade de Uso (Admin) Excelente Excelente Boa

    O Directus brilha quando o controle de dados e um custo fixo previsível são prioridades. A capacidade de rodar em bare metal virtualizado, como um VPS, oferece uma soberania que as soluções SaaS não podem igualar.

    Conclusão e Próximos Passos

    Hospedar o Directus em seu próprio VPS oferece uma combinação poderosa de controle, flexibilidade e economia. Com este guia, você está equipado para realizar o deploy do Directus em seu servidor, garantindo que sua infraestrutura própria esteja configurada para o sucesso. Lembre-se de que a segurança e o monitoramento contínuos são essenciais para qualquer solução self-hosted.

    Para garantir que sua experiência de self-hosting com Directus seja a melhor possível, recomendamos fortemente o uso de um plano de VPS que ofereça os recursos adequados para produção. Nossos clientes rodam essa mesma stack em uma VPS Brasil Básico, que oferece 4GB de RAM e 4 vCPUs por apenas R$ 99/mês, ideal para iniciar com performance e segurança.

    Download Gratuito Template Pronto para n8n & Evolution API

    📦 Template n8n: Agente de IA com WhatsApp + Evolution API

    Baixe o arquivo JSON pronto para importar: Webhook configurado, tratamento de remetente, nó de OpenAI e disparo via Evolution API.

    FAQ: perguntas frequentes

    Qual a principal vantagem do Directus self-hosted?

    A principal vantagem do Directus auto-hospedado é o controle total sobre seus dados, segurança e infraestrutura. Você não depende de terceiros para a disponibilidade ou políticas de uso, além de poder otimizar seu custo fixo com o uso de um VPS.

    É difícil instalar o Directus em um VPS?

    Com o uso de Docker e Docker Compose, a instalação do Directus em um VPS se torna bastante simplificada. O processo envolve a criação de um arquivo de configuração (docker-compose.yml) e a execução de alguns comandos simples, tornando-o acessível até mesmo para quem não é um especialista em infraestrutura.

    Quais são os requisitos mínimos de servidor para o Directus?

    Para um ambiente de produção estável, o Directus rodando com seu banco de dados PostgreSQL recomenda um mínimo de 4GB de RAM e 2 vCPUs. Um SSD com pelo menos 20GB de espaço é ideal para o sistema, Docker, banco de dados e logs.

    O que é o 'custo fixo' ao hospedar o Directus?

    Custo fixo refere-se aos gastos previsíveis e regulares para manter o Directus rodando em sua própria infraestrutura. Em um VPS, isso geralmente significa o valor mensal do plano contratado, independentemente do uso, em contraste com custos variáveis de plataformas SaaS que escalam com o consumo.

    Posso conectar o Directus a um banco de dados existente?

    Sim, o Directus é flexível quanto a bancos de dados. Ele pode se conectar a instâncias PostgreSQL, MySQL, MariaDB, SQLite e MS SQL Server já existentes, desde que estejam acessíveis a partir do servidor onde o Directus será executado e com as permissões corretas.

    Como faço para proteger minha instalação do Directus?

    A proteção envolve diversas camadas: usar um proxy reverso (Nginx/Caddy) com HTTPS, configurar firewalls no VPS, utilizar senhas fortes e chaves de criptografia únicas, manter o Directus e o Docker atualizados, e implementar políticas de backup regulares.

    O que significa 'bare metal' no contexto de self-hosting?

    Bare metal se refere a ter acesso direto ao hardware físico do servidor, sem camadas de virtualização ou compartilhamento com outros usuários. Em um VPS, você tem um ambiente virtualizado, mas com controle dedicado de recursos, o que se aproxima da liberdade do bare metal físico, mas com mais flexibilidade e menor custo inicial.

    Qual a diferença entre Directus e um CMS como WordPress?

    O Directus é um 'Data Platform' ou 'headless CMS', focado em gerenciar qualquer tipo de dado e fornecer APIs para acesso, enquanto o WordPress é um CMS tradicional, mais voltado para blogs e sites com foco em conteúdo. O Directus oferece maior flexibilidade para construir APIs personalizadas e backends para aplicações diversas.

    ← Voltar para o blog