Olá, Kangaroozinho, como vai? Se você possui um serviço de VPS e gostaria de instalar o n8n no seu servidor, neste artigo vamos te mostrar como você pode fazer isso através do seu terminal. Como envolve vários passos de linha de comando, é essencial que você siga cada passo com bastante atenção.
Como instalar o n8n na sua VPS
AlmaLinux/CentOS:
sudo dnf update -y
# Em sistemas CentOS 7 ou inferiores, o comando gerenciador é o yumUbuntu/Debian:
sudo apt update && sudo apt upgrade -yAgora que sua máquina já está atualizada, vamos seguir com a instalação do n8n, para isso, precisamos primeiro instalar o Docker. Abaixo te mostramos os passos e comandos:
- Para começar, instale possíveis pendências, para isso, use o comando: sudo dnf install -y dnf-plugins-core
- Feito isso, agora adicione o repositório do Docker com o comando:
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - Com o repositório adicionado, agora instale com o comando:
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - Após a instalação ser finalizada, habilite o Docker com o comando:
sudo systemctl enable --now docker - Depois disso, adicione o seu usuário atual ao grupo docker, para isso, use o comando:
sudo usermod -aG docker $USER
Feito isso, recomendamos que você saia e se conecte novamente ao terminal SSH. - Agora verifique se o docker foi corretamente instalado, para isso, execute o comando:
docker compose version - Agora crie um diretório para o n8n e o acesse, caso não saiba como, é só usar o comando:
mkdir ~/n8n && cd ~/n8n
Note que esse comando também te leva para dentro desse novo diretório. - Agora crie um arquivo chamado docker-compose.yml, para isso, use o comando
sudo nano docker-compose.yml - Copie as linhas abaixo, e cole dentro do arquivo:
version: "3.8"
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_HOST=localhost # Se você quiser, você pode alterar para seu domínio posteriormente.
- N8N_PORT=5678
- N8N_PROTOCOL=http # Se possuir SSL instalado, você pode alterar para HTTPS agora, ou depois.
- WEBHOOK_URL=http://localhost:5678/
- GENERIC_TIMEZONE=America/Sao_Paulo
- N8N_SECURE_COOKIE=true
# - N8N_BASIC_AUTH_ACTIVE=true # descomente essa e as duas próximas linhas se quiser usuário/senha
# - N8N_BASIC_AUTH_USER=admin
# - N8N_BASIC_AUTH_PASSWORD=suasenha
volumes:
- n8n_data:/home/node/.n8n
# Para usar PostgreSQL (recomendado em produção), adicione depois
volumes:
n8n_data:- Para salvar o arquivo, pressione ctrl + x, depois digite y e dê enter, por fim, dê enter novamente.
- Agora você deve subir o container, para isso, use o comando:
docker compose up -d
Pronto, ao fazer isso o n8n já deve estar corretamente instalado, porém, para acessá-lo, pode ser necessário realizar ações adicionais. Por padrão, o código do arquivo requisita o uso de SSL se a sua conexão não for local. Por isso, se você quiser fazer o uso via navegador de forma não local, você precisa instalar um tipo de conexão segura para o seu servidor.
Para isso, você pode Instalar e configurar o Caddy para a entrada do seu N8N. Se você quiser acessar o N8N sem instalar um certificado SSL, você pode editar o arquivo, na parte ”- N8N_SECURE_COOKIE”, altere de “true” para “false”, e feito isso, você precisa subir novamente o container.

Comandos para o ubuntu
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker
# ou saia e entre no terminal/SSH novamente
docker compose version
mkdir ~/n8n && cd ~/n8n
nano docker-compose.ymlConteúdo do arquivo:
version: "3.8"
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_HOST=localhost # Se você quiser, você pode alterar para seu domínio posteriormente.
- N8N_PORT=5678
- N8N_PROTOCOL=http # Se possuir SSL instalado, você pode alterar para HTTPS agora, ou depois.
- WEBHOOK_URL=http://localhost:5678/
- GENERIC_TIMEZONE=America/Sao_Paulo
- TZ=America/Sao_Paulo
- N8N_SECURE_COOKIE=false
# - N8N_BASIC_AUTH_ACTIVE=true # descomente essa e as duas próximas linhas se quiser usuário/senha
# - N8N_BASIC_AUTH_USER=seuuser
# - N8N_BASIC_AUTH_PASSWORD=suasenha
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:Comando para subir o container:
docker compose up -dLiberar porta do n8n no firewall ufw:
sudo ufw allow 5678/tcp
sudo ufw reload