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 — configuração recomendada para produção.
Pré-requisitos
- VPS mínima: 2 vCPU · 4 GB RAM · 20 GB SSD (Runstack Basic ou superior)
- Sistema: Ubuntu 24.04 LTS
- 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 32DicaCopie os dois valores gerados — eles serão usados no .env e no docker-compose.yml. - 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_POSTGRESAtençãoSubstitua SUA_SENHA_POSTGRES e SUA_CHAVE_SECRETA_AQUI pelos valores gerados no passo anterior. - 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 --followDicaAguarde a mensagem indicando que o servidor iniciou na porta 7860 antes de configurar o Nginx. - 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 nginxAtençãoSubstitua langflow.seudominio.com.br pelo seu subdomínio real. - 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.brDicaAcesse o Langflow no navegador. O primeiro acesso pode solicitar criação de usuário dependendo da versão.
$ runstack deploy --plan starter
Não quer configurar manualmente?
Não quer configurar manualmente? Implante o Langflow em menos de 3 minutos com a Runstack. Infraestrutura da OPEN DATACENTER, com servidores no Brasil.
Troubleshooting
Perguntas frequentes
[VERIFICAR antes de publicar]
- 1. Confirme a tag de imagem mais recente em hub.docker.com/r/langflowai/langflow.
- 2. Verifique se LANGFLOW_SECRET_KEY ainda é o nome correto da variável de chave secreta na versão atual.