Como instalar o N8N pelo Portainer

Passo 1

Antes de começarmos a configuração do N8n no Portainer.io com Docker Swarm, é essencial garantir um desempenho ótimo e tempo de resposta rápido. Recomendamos contratar um servidor VPS Linux:

Servidor VPS com MEGA Desconto!

Pré-requisitos:

Passo 2

Configurando a Stack da N8N modo Fila e criando um banco de dados no Postgres

Passo 2.1

Antes de subir sua stack é preciso criar um banco de dados no Postgres, conforme o passa-a-passo logo abaixo:

  1.  Acesse a Stack do Postgres
Capa-Instalação-Portainer-Criando-Banco-de-Dados-Chatwoot

2. Acesse o terminal do postgres:

  • Em User: Em vez de “root” acesse com “postgres”
  • Dentro do terminal digite os comandos abaixo:
				
					psql
				
			
				
					CREATE DATABASE n8n_fila;
				
			

[Alternativa 2]

Abra o terminal pelo Bitvise e execute o seguinte comando para acessar seu banco de dados do Postgres copiando o nome do container conforme a foto abaixo:

Como encontrar o nome do container no Portainer

Copie o comando abaixo:

				
					docker exec -it <nome do container> psql -U postgres
				
			

Crie um banco de dados com:

				
					CREATE DATABASE n8n_fila;
				
			

Passo 3

Configurando a Stack do N8N Modo Fila

Clique em Stack no menu lateral e depois em + Add Stack no menu superior do lado direito.

Subindo-Stack-Portainer-Traefik

Atente-se para três serviços, sendo, dois domínios

n8n_editor (n8n.digitalinterativo.com.br)

n8n_webhook (webhook.digitalinterativo.com.br)
n8n_worker (não nessecita de dóminio)

				
					version: "3.8"

services:
  n8n_editor:
    image: n8nio/n8n:latest
    #command: start
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_DATABASE: n8n_fila
      DB_POSTGRESDB_USER: postgres
      DB_POSTGRESDB_PASSWORD: <suasenha>
      # criar chave https://acte.ltd/utils/randomkeygen
      N8N_ENCRYPTION_KEY: <suachave32caracteres>
      # hosts e URL
      N8N_HOST: n8n.digitalinterativo.com.br
      N8N_EDITOR_BASE_URL: https://n8n.digitalinterativo.com.br/
      N8N_PROTOCOL: https
      NODE_ENV: production
      # webhooks
      WEBHOOK_URL: https://webhook.digitalinterativo.com.br/
      # modo de execuçao para fila
      EXECUTIONS_MODE: queue
      # redis
      QUEUE_BULL_REDIS_HOST: redis
      QUEUE_BULL_REDIS_PORT: 6379
      QUEUE_BULL_REDIS_DB: 2
      # bibliotecas utilizadas
      NODE_FUNCTION_ALLOW_EXTERNAL: moment,lodash,moment-with-locales
      EXECUTIONS_DATA_PRUNE: 'true'
      EXECUTIONS_DATA_MAX_AGE: 336
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      resources:
        limits:
          cpus: '0.3'
          memory: 512M
      labels:
        - traefik.enable=true
        - traefik.http.routers.n8n_editor.rule=Host(`n8n.digitalinterativo.com.br`)
        - traefik.http.routers.n8n_editor.service=n8n_editor
        - traefik.http.routers.n8n_editor.entrypoints=websecure
        - traefik.http.routers.n8n_editor.tls.certresolver=le
        - traefik.http.routers.n8n_editor.tls=true
        - traefik.http.services.n8n_editor.loadbalancer.server.port=5678
    networks:
      - traefik_public
      - digital_network
  
  n8n_webhook:
    image: n8nio/n8n:latest
    command: webhook
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_DATABASE: n8n_fila
      DB_POSTGRESDB_USER: postgres
      DB_POSTGRESDB_PASSWORD: <suasenha>
      # criar chave https://acte.ltd/utils/randomkeygen
      N8N_ENCRYPTION_KEY: <suachave32caracteres>
      # hosts e URL
      N8N_HOST: n8n.digitalinterativo.com.br
      N8N_EDITOR_BASE_URL: https://n8n.digitalinterativo.com.br/
      N8N_PROTOCOL: https
      NODE_ENV: production
      # webhooks
      WEBHOOK_URL: https://webhook.digitalinterativo.com.br/
      # modo de execuçao para fila
      EXECUTIONS_MODE: queue
      # redis
      QUEUE_BULL_REDIS_HOST: redis
      QUEUE_BULL_REDIS_PORT: 6379
      QUEUE_BULL_REDIS_DB: 2
      # bibliotecas utilizadas
      NODE_FUNCTION_ALLOW_EXTERNAL: moment,lodash,moment-with-locales
      EXECUTIONS_DATA_PRUNE: 'true'
      EXECUTIONS_DATA_MAX_AGE: 336
    deploy:
      mode: replicated
      # pode criar replicas
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      resources:
        limits:
          cpus: '0.5'
          memory: 320M
      labels:
        - traefik.enable=true
        - traefik.http.routers.n8n_webhook.rule=Host(`webhook.digitalinterativo.com.br`)
        - traefik.http.routers.n8n_webhook.service=n8n_webhook
        - traefik.http.routers.n8n_webhook.entrypoints=websecure
        - traefik.http.routers.n8n_webhook.tls.certresolver=le
        - traefik.http.routers.n8n_webhook.tls=true
        - traefik.http.services.n8n_webhook.loadbalancer.server.port=5678
    networks:
      - traefik_public
      - digital_network
  
  n8n_worker:
    image: n8nio/n8n:latest
    command: worker --concurrency=3
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_DATABASE: n8n_fila
      DB_POSTGRESDB_USER: postgres
      DB_POSTGRESDB_PASSWORD: <suasenha>
      # criar chave https://acte.ltd/utils/randomkeygen
      N8N_ENCRYPTION_KEY: <suachave32caracteres>
      # hosts e URL
      N8N_HOST: n8n.seu_dominio.com.br
      N8N_EDITOR_BASE_URL: https://n8n.digitalinterativo.com.br/
      N8N_PROTOCOL: https
      NODE_ENV: production
      # webhooks
      WEBHOOK_URL: https://webhook.digitalinterativo.com.br/
      # modo de execuçao para fila
      EXECUTIONS_MODE: queue
      # redis
      QUEUE_BULL_REDIS_HOST: redis
      QUEUE_BULL_REDIS_PORT: 6379
      QUEUE_BULL_REDIS_DB: 2
      # bibliotecas utilizadas
      NODE_FUNCTION_ALLOW_EXTERNAL: moment,lodash,moment-with-locales
      EXECUTIONS_DATA_PRUNE: 'true'
      EXECUTIONS_DATA_MAX_AGE: 336
    deploy:
      mode: replicated
      # pode criar replicas
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      resources:
        limits:
          cpus: '0.5'
          memory: 384M
    networks:
      - traefik_public
      - digital_network

networks:
  traefik_public:
    external: true
  digital_network:
    external: true
				
			
Use o link abaixo para gerar a senha de 32 caracteres conforme mencionado no vídeo.

Gostou do conteúdo? Quer apoiar nosso trabalho?

Você pode fazer uma doação e nos ajudar a continuar criando conteúdo de qualidade. Acesse o link para ver as formas de pagamento disponíveis: https://www.asaas.com/c/io73sms6maiim7ud

Chave Pix: (15) 99855-8323

Share the Post:

Post Relacionados