Como instalar o Langflow em uma VPS Ubuntu
O Langflow é uma plataforma visual open-source para construir pipelines de IA com LLMs, agentes e RAG. Este guia instala o Langflow com Docker Compose e PostgreSQL para persistência de dados, a configuração recomendada para produção.
Antes de começar
- VPS mínima
- 2 vCPU · 4 GB RAM · 20 GB SSD (Runstack Basic ou superior)
- Sistema
- Ubuntu 24.04 LTS
- Também
- Docker e Docker Compose instalados (veja /tutorial/como-instalar-docker)
- Subdomínio DNS apontado para o IP da VPS
- Portas 80 e 443 abertas no firewall
Instalação passo a passo
- 1
Atualizar o sistema e instalar Docker
Garanta que Docker e Docker Compose estão disponíveis.
bashapt update && apt upgrade -y curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh docker --version && docker compose version - 2
Criar o diretório do projeto
Centralize os arquivos em /opt/langflow.
bashmkdir -p /opt/langflow cd /opt/langflow - 3
Criar o arquivo .env
Defina a senha do PostgreSQL e a chave secreta da aplicação.
bash# Gerar senha segura para o PostgreSQL openssl rand -hex 24 # Gerar chave secreta para o Langflow openssl rand -hex 32 - 4
Configurar variáveis no .env
Crie o arquivo .env com as senhas geradas.
.env# /opt/langflow/.env LANGFLOW_DATABASE_URL=postgresql://langflow:SUA_SENHA_POSTGRES@postgres:5432/langflow LANGFLOW_CONFIG_DIR=/app/langflow LANGFLOW_SECRET_KEY=SUA_CHAVE_SECRETA_AQUI POSTGRES_PASSWORD=SUA_SENHA_POSTGRES - 5
Criar o docker-compose.yml
Esta configuração oficial usa PostgreSQL 16 para persistência e expõe o Langflow na porta 7860.
docker-compose.yml# /opt/langflow/docker-compose.yml services: langflow: image: langflowai/langflow:latest pull_policy: always ports: - "127.0.0.1:7860:7860" depends_on: - postgres env_file: .env volumes: - langflow-data:/app/langflow postgres: image: postgres:16 restart: always environment: POSTGRES_USER: langflow POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: langflow volumes: - langflow-postgres:/var/lib/postgresql/data volumes: langflow-postgres: langflow-data: - 6
Subir os containers
Inicie os serviços e aguarde a inicialização completa.
bashcd /opt/langflow docker compose up -d # Aguardar inicialização (~60s na primeira vez) docker compose logs langflow --follow - 7
Configurar Nginx e SSL
Instale Nginx como reverse proxy e emita o certificado SSL.
bashapt install -y nginx certbot python3-certbot-nginx cat > /etc/nginx/sites-available/langflow << 'NGINXEOF' server { listen 80; server_name langflow.seudominio.com.br; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name langflow.seudominio.com.br; ssl_certificate /etc/letsencrypt/live/langflow.seudominio.com.br/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/langflow.seudominio.com.br/privkey.pem; client_max_body_size 50M; location / { proxy_pass http://127.0.0.1:7860; 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; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 3600s; } } NGINXEOF ln -s /etc/nginx/sites-available/langflow /etc/nginx/sites-enabled/langflow nginx -t certbot --nginx \ -d langflow.seudominio.com.br \ --non-interactive \ --agree-tos \ --email seu@email.com systemctl reload nginx - 8
Configurar firewall e verificar
Restrinja portas e confirme o acesso.
bashufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp ufw --force enable # Testar acesso curl -I https://langflow.seudominio.com.br
Não quer configurar manualmente?
Implante o Langflow em menos de 5 minutos com a Runstack. Infraestrutura da OPEN Datacenter, com servidores em São Paulo.
Se der problema
Verifique se a LANGFLOW_DATABASE_URL está correta e se o container do PostgreSQL subiu antes.
docker compose logs langflow --tail=50
docker compose psO volume `langflow-data` deve estar mapeado. Verifique se foi criado corretamente.
docker volume ls | grep langflowPipelines com modelos grandes exigem mais RAM. Considere upgrade para Runstack Pro (4 GB) ou superior.
Aumente o proxy_read_timeout no Nginx (padrão configurado: 3600s). Se o timeout ocorrer antes do Nginx, verifique o timeout do próprio LLM provider.
Certifique-se de que a porta foi mapeada para 127.0.0.1:7860 (não 0.0.0.0:7860) no docker-compose. Todo acesso público deve passar pelo Nginx.
Perguntas frequentes
Ambos são ferramentas visuais para construir pipelines de IA. O Langflow tem integração nativa com LangChain e é mais voltado a pipelines complexos de RAG e agentes. O Flowise tem interface mais simples e boa integração com ferramentas de chatbot. Experimente os dois e escolha conforme seu caso de uso.
Sim. Por padrão, usa SQLite local. O PostgreSQL é recomendado para produção por suportar múltiplas conexões simultâneas e facilitar backups.
Execute `docker compose pull && docker compose up -d` no diretório /opt/langflow. O Langflow aplica migrações automaticamente.
Sim. O Langflow suporta Ollama como provider. Instale o Ollama na VPS e configure o componente Ollama dentro do Langflow apontando para http://host.docker.internal:11434.
Em idle, o Langflow consome aproximadamente 500 MB a 1 GB de RAM. O consumo aumenta durante a execução de flows, especialmente com modelos grandes.