Introdução
O n8n é uma ferramenta de automação de fluxo de trabalho de código aberto que permite integrar diferentes serviços e APIs de forma fácil e intuitiva. Neste tutorial, você aprenderá a instalar o n8n em uma VPS no Brasil, utilizando Docker para facilitar a gestão de containers, PostgreSQL como banco de dados para armazenar suas informações e habilitar HTTPS para garantir a segurança das suas conexões.
O uso do Docker simplifica a instalação e a execução do n8n, permitindo que você execute a aplicação em um ambiente isolado e facilmente gerenciável. O PostgreSQL, por sua vez, é uma escolha robusta e confiável para o armazenamento de dados, enquanto o HTTPS protege a comunicação entre o usuário e o servidor, evitando interceptações.
Ao final deste tutorial, você terá uma instalação do n8n completamente funcional e segura, pronta para automatizar seus processos e integrar serviços. Vamos começar!
Pré-requisitos
Antes de iniciar a instalação do n8n em sua VPS, é fundamental garantir que você possui os seguintes pré-requisitos:
- Uma VPS no Brasil: Você deve ter uma VPS funcionando, com acesso root ou permissões de sudo.
- Sistema Operacional: O tutorial foi elaborado considerando distribuições baseadas em Debian ou Ubuntu. Certifique-se de que sua VPS utiliza um desses sistemas.
- Docker: O Docker deve estar instalado em sua VPS. Caso ainda não tenha, você pode instalá-lo seguindo as instruções na seção de instalação do Docker.
- PostgreSQL: Você precisará ter o PostgreSQL instalado e configurado. Na seção de configuração do PostgreSQL, você encontrará os passos necessários.
- Nome de domínio: Um domínio registrado que apontará para o IP da sua VPS. Isso é essencial para a configuração do HTTPS.
- Certificados SSL: Para habilitar HTTPS, você precisará de certificados SSL. Você pode obtê-los através de serviços como Let's Encrypt.
Certifique-se de atender a todos os pré-requisitos antes de prosseguir com a instalação do n8n.
Instalação do Docker
Para instalar o Docker em sua VPS, siga os passos abaixo:
sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce -y
sudo systemctl status docker
sudo usermod -aG docker $USER
- Atualize os pacotes do sistema:
- Instale os pacotes necessários para permitir que o apt use pacotes via HTTPS:
- Adicione a chave GPG oficial do Docker:
- Adicione o repositório do Docker:
- Atualize o banco de dados de pacotes novamente:
- Instale o Docker:
- Verifique se o Docker foi instalado corretamente:
- Adicione seu usuário ao grupo docker para executar comandos sem sudo:
Após a instalação, é recomendável reiniciar sua VPS para que as alterações do grupo tenham efeito.
Configuração do PostgreSQL
Após instalar o PostgreSQL, você precisa configurá-lo para que o n8n possa se conectar corretamente. Siga os passos abaixo:
sudo -u postgres psql
CREATE DATABASE n8n;
CREATE USER n8n_user WITH PASSWORD 'sua_senha_forte';
GRANT ALL PRIVILEGES ON DATABASE n8n TO n8n_user;
EXIT;
sudo nano /etc/postgresql/12/main/postgresql.conf
listen_addresses = '*'
sudo nano /etc/postgresql/12/main/pg_hba.conf
host all all 0.0.0.0/0 md5
sudo systemctl restart postgresql
- Conecte-se ao PostgreSQL usando o seguinte comando:
- Crie um banco de dados para o n8n:
- Crie um usuário para o n8n e defina uma senha:
- Conceda permissões ao usuário no banco de dados:
- Saia do console do PostgreSQL:
- Edite o arquivo de configuração do PostgreSQL para permitir conexões externas. Abra o arquivo postgresql.conf:
- Localize a linha #listen_addresses = 'localhost' e altere para:
- Salve e feche o arquivo. Em seguida, edite o pg_hba.conf para permitir conexões:
- Adicione a seguinte linha ao final do arquivo:
- Reinicie o PostgreSQL para aplicar as mudanças:
Agora, seu PostgreSQL está configurado e pronto para ser utilizado pelo n8n.
Instalação do n8n
Agora que o Docker e o PostgreSQL estão configurados, vamos instalar o n8n utilizando o Docker. Siga os passos abaixo:
mkdir ~/n8n
cd ~/n8n
version: '3'
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=db
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=your_password
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=your_username
- N8N_BASIC_AUTH_PASSWORD=your_password
depends_on:
- db
db:
image: postgres
restart: always
environment:
- POSTGRES_DB=n8n
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=your_password
volumes:
- ./postgres_data:/var/lib/postgresql/data
docker-compose up -d
- Crie um diretório para armazenar os dados do n8n:
- Entre no diretório criado:
- Crie um arquivo docker-compose.yml com o seguinte conteúdo:
- Substitua your_password e your_username por valores seguros.
- Inicie o n8n com o Docker Compose:
O n8n agora deve estar rodando. Você pode acessá-lo pelo navegador em http://seu_ip:5678.
Configuração do HTTPS
Para garantir a segurança da sua instalação do n8n, é essencial habilitar o HTTPS. Neste tutorial, utilizaremos o Let's Encrypt para obter um certificado SSL gratuito.
- Instale o Certbot, que é a ferramenta utilizada para obter e renovar certificados SSL:
sudo apt update
sudo apt install certbot
- Crie um arquivo de configuração do Docker para o n8n com suporte a HTTPS. Crie um arquivo chamado docker-compose.yml com o seguinte conteúdo:
version: '3'
services:
n8n:
image: n8n
ports:
- "5678:5678"
environment:
- N8N_HOST=seu_dominio.com
- N8N_PROTOCOL=https
- N8N_PORT=5678
- N8N_SSL_CERT=/etc/letsencrypt/live/seu_dominio.com/fullchain.pem
- N8N_SSL_KEY=/etc/letsencrypt/live/seu_dominio.com/privkey.pem
volumes:
- ~/.n8n:/home/node/.n8n
- Obtenha o certificado SSL usando o Certbot:
sudo certbot certonly --standalone -d seu_dominio.com
- Reinicie o n8n para aplicar as configurações:
docker-compose up -d
Com isso, o n8n estará acessível via HTTPS. Verifique acessando https://seu_dominio.com no seu navegador.
Verificação
Após a instalação e configuração do n8n, é importante verificar se tudo está funcionando corretamente. Siga os passos abaixo:
- Acesse o n8n pelo seu navegador utilizando o endereço configurado, por exemplo: https://seu_dominio.com.
- Verifique se a interface do n8n é carregada corretamente.
- Realize o login utilizando as credenciais que você configurou.
- Crie um novo fluxo de trabalho simples para testar a funcionalidade. Para isso, siga estes passos:
- Clique em New para criar um novo workflow.
- Adicione um nó de exemplo, como Set, e configure-o.
- Conecte o nó e clique em Execute Workflow para verificar se está funcionando.
- Por fim, verifique os logs do Docker para garantir que não há erros. Utilize o seguinte comando:
docker logs n8n
Se tudo estiver funcionando corretamente, você verá mensagens indicando que o n8n está em execução sem problemas. Caso encontre algum erro, revise as configurações realizadas anteriormente.