Paperless-ngx: Instale seu GED em VPS no Brasil

9 min 133 Self Hosting
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

Para workloads de IA ou banco de dados, o Performance é o ponto de partida equilibrado; escolha o Ultra quando precisar de mais margem de memória.

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.

Paperless-ngx: Seu GED Self-Hosted em VPS no Brasil

Para quem busca autonomia e controle absoluto sobre seus documentos digitais, o Paperless-ngx se apresenta como uma alternativa poderosa e flexível às soluções de GED em nuvem. Este artigo é o seu guia prático para implantar o Paperless-ngx em um servidor VPS no Brasil, focando em uma instalação robusta e de fácil manutenção. Vamos detalhar os requisitos de servidor, o processo de deploy via Docker e as vantagens de manter sua infraestrutura própria.

A implantação do Paperless-ngx em um VPS no Brasil permite que você utilize a ferramenta sem depender de terceiros, garantindo a privacidade e a segurança dos seus dados. Ao optar pelo self-hosting, você transforma um servidor dedicado em um centro de organização documental, com a vantagem de um custo fixo previsível e sem surpresas.

Por que Escolher Paperless-ngx para Self-Hosting?

O Paperless-ngx é um fork ativo e aprimorado do projeto original Paperless-ngx, focado em oferecer uma experiência de usuário moderna e um conjunto robusto de funcionalidades para digitalização e organização de documentos. Ele se destaca pela sua capacidade de processar e indexar documentos automaticamente, tornando a busca por informações mais rápida e eficiente.

As principais vantagens de hospedá-lo em sua infraestrutura própria incluem:

  • Controle Total de Dados: Seus documentos permanecem em seu servidor, protegidos por suas próprias políticas de segurança.
  • Custo Fixo Previsível: Ao invés de pagar por volume de armazenamento ou por usuário em nuvens corporativas, você investe em um plano de VPS com um valor mensal fixo.
  • Flexibilidade e Customização: Adapte o ambiente do servidor e as configurações do Paperless-ngx às suas necessidades específicas.
  • Privacidade Garantida: Sem preocupações com a análise de dados por provedores de nuvem.

Requisitos de Servidor para Paperless-ngx em Produção

Para garantir o bom funcionamento e a performance do Paperless-ngx em um ambiente de produção, é crucial dimensionar corretamente a sua infraestrutura. Consideramos aqui um cenário de uso moderado a intenso, com a presença do banco de dados PostgreSQL e do consumidor de documentos.

Recursos Mínimos Recomendados (VPS Brasil Básico)

Com base em testes práticos e na experiência de implantações para clientes, recomendamos o plano VPS Brasil Básico (R$ 99/mês, 4GB RAM, 4 vCPUs) como ponto de partida ideal. Este plano oferece um equilíbrio entre performance e custo, adequado para a maioria dos cenários de uso pessoal ou de pequenas equipes.

  • RAM: Mínimo de 4GB. O Paperless-ngx, juntamente com o PostgreSQL e o Docker, pode consumir uma quantidade considerável de memória, especialmente durante o processamento de documentos. 4GB é o piso para um funcionamento estável.
  • vCPUs: Mínimo de 2 vCPUs. Para garantir que o processamento de documentos e as consultas ao banco de dados sejam ágeis. 4 vCPUs proporcionam uma experiência mais fluida.
  • Armazenamento: Mínimo de 50GB de SSD. Documentos digitalizados, especialmente em alta resolução, podem ocupar espaço rapidamente. O uso de SSD é fundamental para a velocidade de acesso e processamento. Recomenda-se pelo menos 100GB para um crescimento saudável.
  • Sistema Operacional: Ubuntu 22.04 LTS ou superior, ou outra distribuição Linux moderna.

Otimização e Requisitos de Produção

Em cenários com um volume muito alto de documentos a serem digitalizados e indexados diariamente, ou com múltiplos usuários acessando simultaneamente, pode ser necessário um upgrade. Para esses casos, um plano com 8GB de RAM e 6 vCPUs seria mais adequado. O controle de dados é otimizado com mais recursos, pois garante que o sistema não sofra gargalos em momentos de pico.

Passo a Passo: Instalação do Paperless-ngx com Docker Compose

A maneira mais recomendada e eficiente de implantar o Paperless-ngx é utilizando o Docker e o Docker Compose. Isso garante um ambiente isolado, fácil de gerenciar e replicar. Siga os passos abaixo para configurar seu servidor.

1. Preparando o Servidor e Instalando o Docker

Primeiro, certifique-se de que seu servidor VPS esteja atualizado e com o Docker e o Docker Compose instalados. Se você ainda não tem o Docker configurado, este é um excelente momento para aprender. Veja nosso guia sobre Docker no VPS: Deploy Rápido e Eficiente para as instruções completas.

Após instalar o Docker, você precisará criar um diretório para os arquivos de configuração do Paperless-ngx.

sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-compose -y

mkdir ~/paperless
cd ~/paperless

2. Criando o Arquivo docker-compose.yml

Dentro do diretório `~/paperless`, crie um arquivo chamado `docker-compose.yml` com o seguinte conteúdo. Este arquivo define os serviços necessários: o Paperless-ngx, o PostgreSQL (banco de dados) e o Redis (cache).

version: "3.8"

services:
  redis:
    image: redis:alpine
    restart: always
    volumes:
      - redis_data:/data
    networks:
      - paperless_network

  db:
    image: postgres:15-alpine
    restart: always
    volumes:
      - postgres_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=paperless
      - POSTGRES_PASSWORD=YOUR_DB_PASSWORD # Altere para uma senha forte
      - POSTGRES_DB=paperless
    networks:
      - paperless_network

  app:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    restart: always
    volumes:
      - media_data:/usr/src/paperless/media
      - document_data:/usr/src/paperless/documents
      - consume_data:/usr/src/paperless/consume
      - config_data:/usr/src/paperless/config
    environment:
      - TIME_ZONE=America/Sao_Paulo
      - USE_REDIS=True
      - REDIS_HOST=redis
      - DB_TYPE=PostgreSQL
      - DB_HOST=db
      - DB_PORT=5432
      - DB_USER=paperless
      - DB_NAME=paperless
      - DB_PASSWORD=YOUR_DB_PASSWORD # Use a mesma senha do banco de dados
    ports:
      - "8000:8000"
    depends_on:
      - redis
      - db
    networks:
      - paperless_network

volumes:
  redis_data:
  postgres_data:
  media_data:
  document_data:
  consume_data:
  config_data:

networks:
  paperless_network:
    driver: bridge

Importante: Altere `YOUR_DB_PASSWORD` para uma senha forte e segura. Para o ambiente em produção, é altamente recomendável configurar um proxy reverso (como Nginx ou Caddy) para gerenciar o acesso à porta 8000 e configurar o SSL/TLS. Se você precisa de ajuda com essa configuração, nosso guia sobre como configurar um proxy reverso pode ser útil, embora a configuração específica varie.

3. Executando o Paperless-ngx

Com o arquivo `docker-compose.yml` configurado, você pode iniciar o Paperless-ngx e seus dependentes com o seguinte comando:

docker-compose up -d

Este comando baixará as imagens necessárias e iniciará os contêineres em segundo plano (`-d`).

4. Acessando o Paperless-ngx e Executando Migrações

Após alguns minutos, o Paperless-ngx estará acessível em `http://SEU_IP_DO_SERVIDOR:8000`. Na primeira vez que você acessar, precisará executar as migrações do banco de dados. Para isso, use o seguinte comando dentro do diretório `~/paperless`:

docker-compose exec app ./manage.py migrate

Será solicitado que você crie um superusuário. Siga as instruções para definir um nome de usuário e senha.

docker-compose exec app ./manage.py createsuperuser

Agora você já pode acessar `http://SEU_IP_DO_SERVIDOR:8000` com suas credenciais de superusuário e começar a organizar seus documentos.

Configuração e Otimização do Paperless-ngx

Uma vez instalado, o Paperless-ngx oferece diversas opções de configuração para otimizar seu uso. A interface web permite ajustar muitas dessas configurações, mas o arquivo de configuração `settings.py` (gerado no volume `config_data`) oferece um controle ainda mais granular.

Ajustando o Consumidor de Documentos

O coração do Paperless-ngx é o seu consumidor, responsável por processar os documentos que você envia para a pasta `consume`. Você pode configurar como os documentos são renomeados, quais metadados são extraídos (OCR, data do documento, etc.) e como as tags são aplicadas automaticamente.

Para otimizar o processamento, especialmente em servidores com menos recursos de CPU, você pode ajustar o número de workers do consumidor. Isso é feito através da variável de ambiente `CONSUMER_WORKER_COUNT` no seu `docker-compose.yml` ou no arquivo `settings.py`.

Gerenciamento de Armazenamento e Backup

O self-hosting exige atenção ao gerenciamento de armazenamento e backups. Configure um plano de backup regular para os volumes do Docker (`redis_data`, `postgres_data`, `media_data`, `document_data`, `consume_data`, `config_data`).

Em nossa experiência, o script de backup ideal para um cenário self-hosted como este envolve a cópia dos volumes do Docker e a exportação do banco de dados PostgreSQL. Hospedar aplicações em self-hosting com sucesso requer uma estratégia de backup bem definida.

Comparativo: Paperless-ngx vs. Soluções em Nuvem

Ao considerar uma solução de GED, a comparação entre self-hosting e serviços em nuvem é inevitável. O Paperless-ngx, rodando em seu próprio VPS, oferece vantagens distintas.

Recurso Paperless-ngx (Self-Hosted) Soluções em Nuvem (Ex: Google Drive, Dropbox com OCR)
Custo Custo fixo mensal (VPS), potencialmente menor a longo prazo. Sem custos ocultos de armazenamento ou usuários. Custo variável baseado em armazenamento e número de usuários. Pode escalar rapidamente para valores altos.
Controle de Dados Total. Seus documentos ficam em seu servidor. Controle de acesso e segurança definidos por você. Dependência do provedor. Dados armazenados em servidores de terceiros. Menor controle sobre privacidade.
Privacidade Alta. Sem análise de dados por terceiros. Soberania digital garantida. Variável. Termos de serviço podem permitir análise de dados para melhorias do serviço.
Manutenção Requer manutenção periódica do servidor e atualizações do software. O uso de Docker simplifica. Nenhuma manutenção de infraestrutura necessária. Atualizações gerenciadas pelo provedor.
Performance Depende do seu servidor VPS. Com recursos adequados, pode ser muito rápida. Geralmente otimizada, mas pode sofrer com latência de rede e planos gratuitos limitados.
Customização Alta. Possibilidade de integrar com outras ferramentas e customizar fluxos. Limitada às APIs e integrações oferecidas pelo provedor.

Erros Comuns e Como Evitá-los

Ao implantar o Paperless-ngx em um VPS, alguns obstáculos podem surgir. Conhecê-los de antemão ajuda a garantir uma implementação tranquila.

  • Subdimensionamento do Servidor: O erro mais comum é escolher um plano de VPS com pouca RAM ou CPU. O Paperless-ngx pode se tornar lento ou instável se o servidor não tiver recursos suficientes, especialmente ao processar muitos documentos. Sempre opte por pelo menos 4GB de RAM para produção.
  • Senha do Banco de Dados Insegura: A senha do PostgreSQL deve ser forte e única. Utilize um gerenciador de senhas para gerar e armazenar senhas complexas.
  • Falta de Configuração de Proxy Reverso e SSL: Expor a porta 8000 diretamente para a internet é um risco de segurança. Sempre configure um proxy reverso (Nginx, Caddy) com HTTPS para proteger seu acesso.
  • Não Configurar Backups: Perder documentos por falta de backup é uma falha crítica. Implemente uma rotina de backup automática e teste a restauração periodicamente.
  • Problemas com Permissões de Docker: Certifique-se de que os volumes do Docker tenham as permissões corretas para que o Paperless-ngx possa ler e escrever arquivos.

Perguntas Relacionadas

O Paperless-ngx é realmente gratuito?

Sim, o software Paperless-ngx é de código aberto e gratuito para uso. O único custo associado é a hospedagem do servidor (VPS) onde ele será executado.

Preciso de conhecimento técnico para instalar o Paperless-ngx?

Um conhecimento básico de Linux e Docker é recomendado. No entanto, seguindo tutoriais como este, mesmo iniciantes podem realizar a instalação com sucesso.

Quantos documentos consigo armazenar em um VPS básico?

Um VPS básico com 50GB de SSD pode armazenar milhares de documentos. O espaço necessário varia muito com a qualidade das digitalizações e o tamanho dos arquivos.

Como faço para acessar o Paperless-ngx de fora da minha rede?

É necessário configurar um proxy reverso com um domínio e certificado SSL para acessar o Paperless-ngx de forma segura pela internet.

Conclusão e Próximos Passos

O self-hosting do Paperless-ngx em um VPS no Brasil oferece uma solução de GED robusta, segura e com custo fixo. Com este guia, você tem as ferramentas para implantar seu próprio sistema de gerenciamento de documentos e assumir o controle de dados.

Recomendamos fortemente o plano VPS Brasil Básico (R$ 99/mês, 4GB RAM, 4 vCPUs) para iniciar seu projeto. Esse tutorial foi validado por nós em uma VPS Brasil Básico, garantindo que você tenha uma infraestrutura adequada para rodar o Paperless-ngx com performance e estabilidade.

Não espere mais para ter a autonomia que seus documentos merecem. Dê o primeiro passo para uma gestão documental mais eficiente e segura.

Garanta seu VPS Brasil Básico e comece hoje!

Perguntas Frequentes

Paperless-ngx é uma aplicação de código aberto para gerenciamento de documentos (GED) que oferece uma alternativa robusta às soluções em nuvem. Sua escolha para self-hosting se dá pelo controle total sobre seus dados, privacidade garantida, flexibilidade de customização e um custo fixo previsível, ao invés de custos variáveis baseados em uso.

Para um funcionamento estável em produção, recomendamos um VPS com no mínimo 4GB de RAM, 2 vCPUs e 50GB de armazenamento SSD. Um plano como o VPS Brasil Básico (4GB RAM, 4 vCPUs por R$ 99/mês) é ideal para a maioria dos casos, oferecendo um bom equilíbrio entre performance e custo.

A instalação mais recomendada é via Docker e Docker Compose. Você precisará instalar o Docker no seu servidor, criar um arquivo `docker-compose.yml` com as configurações dos serviços (Paperless-ngx, PostgreSQL, Redis) e então executar os contêineres com `docker-compose up -d`. Após isso, execute as migrações do banco de dados.

Sim, é altamente recomendável. Expor a porta 8000 diretamente para a internet representa um risco de segurança. Um proxy reverso (como Nginx ou Caddy) com HTTPS garante que o acesso ao seu Paperless-ngx seja seguro, criptografado e mais profissional.

Além de usar um proxy reverso com HTTPS, utilize senhas fortes para o banco de dados e para o acesso ao Paperless-ngx. Mantenha o sistema e o Docker sempre atualizados e implemente uma rotina robusta de backups dos volumes do Docker e do banco de dados.

Enquanto Google Drive e Dropbox oferecem armazenamento em nuvem e algumas funcionalidades de OCR, o Paperless-ngx é um sistema de GED dedicado com automação avançada de indexação e metadados. A principal diferença reside no controle de dados e privacidade: com Paperless-ngx, seus documentos ficam em seu servidor, sob seu total controle.

O espaço de armazenamento necessário varia com a quantidade e tamanho dos seus documentos. Para um VPS básico, 50GB de SSD é um bom ponto de partida, mas 100GB ou mais são recomendados para um crescimento saudável. Documentos digitalizados em alta resolução ocupam mais espaço.

Se o seu VPS não tiver RAM suficiente, o Paperless-ngx, o PostgreSQL ou o próprio Docker podem travar ou reiniciar inesperadamente. O processamento de documentos ficará lento e a experiência do usuário será prejudicada. Por isso, é crucial não subdimensionar o servidor, optando por planos com pelo menos 4GB de RAM.

Comentários (8)

4.8
★ ★ ★ ★ ★
8 avaliações
Carolina Costa - Tech Solutions
★★★★★

A latência para o Brasil ficou excelente depois que migramos para a VPS local. O tutorial de configuração de rede e MTU foi direto ao ponto. Tem algum repositório GitHub de referência com esse setup?

André Carvalho
★★★★★

Excelente artigo! Como sysadmin, confirmo que essas configurações realmente fazem diferença. Só gostaria de adicionar que o ajuste do swappiness também ajuda muito no uso de memória.

Gustavo Soares - Fullstack Lab
★★★★★

Sempre tive problemas com instabilidade no servidor até ler este artigo. Segui passo a passo e agora está rodando perfeitamente há 3 semanas sem restart.

Fernanda Rodrigues
★★★★★

Muito bom o passo a passo de particionamento e disco NVMe. O throughput do I/O subiu consideravelmente nos nossos testes de benchmark. Será que isso funciona também com ambientes híbridos?

João Costa - Tech Solutions
★★★★★

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

Fernando Costa
★★★★★

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

João Costa - Startup X
★★★★★

Artigo muito bem escrito e explicativo! Já compartilhei com toda a equipe da empresa. Você tem algum material mais avançado sobre esse tema?

Fernando Ferreira
★★★★★

Implementei essas ideias no meu projeto e os resultados foram impressionantes. Obrigado pelo conhecimento compartilhado! Você tem algum material mais avançado sobre esse tema?