Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Stack do Redis
- -------
- version: "3.7"
- services:
- redis:
- image: redis:latest
- command: [
- "redis-server",
- "--appendonly",
- "yes",
- "--port",
- "6379"
- ]
- volumes:
- - redis_data:/data
- networks:
- - network_public
- deploy:
- placement:
- constraints:
- - node.role == manager
- resources:
- limits:
- cpus: "1"
- memory: 1024M
- volumes:
- redis_data:
- external: true
- name: redis_data
- networks:
- network_public:
- external: true
- name: network_public
- ----------------------------------------
- Stack do Postgres
- ---------
- version: "3.7"
- services:
- postgres:
- image: postgres:14
- environment:
- - POSTGRES_PASSWORD=QwS3JzX2kcCF5K
- - TZ=America/Sao_Paulo
- - POSTGRES_DB=postgres
- networks:
- - network_public
- ports:
- - 5432:5432
- volumes:
- - postgres_data:/var/lib/postgresql/data
- deploy:
- mode: replicated
- replicas: 1
- placement:
- constraints:
- - node.role == manager
- resources:
- limits:
- cpus: "1"
- memory: 1024M
- volumes:
- postgres_data:
- external: true
- name: postgres_data
- networks:
- network_public:
- external: true
- name: network_public
- Obs:
- CRIAR BANCO DE DADOS DO N8N n8n_queue
- psql -U postgres -c "CREATE DATABASE n8n_queue;"
- ---------------------------------
- Stack do N8N
- ------------
- ${N8N_DOMINIO_WEBHOOK}
- ${N8N_DOMINIO_EDITOR}
- ${DOMINIO_PRINCIPAL_CLIENTE}
- ${POSTGRES_SENHA}
- version: "3.7"
- # Definição dos Serviços
- services:
- # Definição do Serviço do Editor
- n8n_editor:
- # imagem do docker
- image: n8nio/n8n:1.41.0
- # comando padrão para subir o servidor web
- command: start
- # configura a rede do serviço
- networks:
- - network_public
- # configura as variáveis de ambiente
- environment:
- - GENERIC_TIMEZONE=America/Sao_Paulo
- # Define o Tipo de Banco de Dados para Postgres
- - DB_TYPE=postgresdb
- # Configura o Nome do Banco de Dados
- - DB_POSTGRESDB_DATABASE=n8n_queue
- # Configura o Host do Banco de Dados
- - DB_POSTGRESDB_HOST=postgres
- # Configura a Porta do Banco de Dados
- - DB_POSTGRESDB_PORT=5432
- # Configura o Usuário do Banco de Dados
- - DB_POSTGRESDB_USER=postgres
- # Configura a Senha do Banco de Dados
- - DB_POSTGRESDB_PASSWORD=${POSTGRES_SENHA}
- # Cria uma chave de criptografia para o N8N
- # Gere uma nova aqui https://www.allkeysgenerator.com/Random/Security-Encryption-Key-Generator.aspx
- # escolha a opção GUID
- - N8N_ENCRYPTION_KEY=3DA3144FD4965723
- # Configura o Host do Editor do N8N
- - N8N_HOST=${N8N_DOMINIO_EDITOR}.${DOMINIO_PRINCIPAL_CLIENTE}
- # Configura o Endereço competo do Editor
- - N8N_EDITOR_BASE_URL=https://${N8N_DOMINIO_EDITOR}.${DOMINIO_PRINCIPAL_CLIENTE}/
- # Força o uso de SSL
- - N8N_PROTOCOL=https
- # Configura o ambiente de execução
- - NODE_ENV=production
- # Configura o Endereço do Webhook
- - WEBHOOK_URL=https://${N8N_DOMINIO_WEBHOOK}.${DOMINIO_PRINCIPAL_CLIENTE}/
- # Configura o modo de execução para fila
- - EXECUTIONS_MODE=queue
- # Configura o host do Redis
- - QUEUE_BULL_REDIS_HOST=redis
- # Configura a porta do Redis
- - QUEUE_BULL_REDIS_PORT=6379
- # Configura o indice do banco de dados do Redis
- - QUEUE_BULL_REDIS_DB=2
- # Configura as bibliotecas externas que serão utilizadas
- - NODE_FUNCTION_ALLOW_BUILTIN=*
- - NODE_FUNCTION_ALLOW_EXTERNAL=moment,lodash,moment-with-locales,axios,crypto
- # Configura a limpeza dos dados de execução
- - EXECUTIONS_DATA_PRUNE=true
- # Configura o tempo máximo de armazenamento dos dados de execução
- - EXECUTIONS_DATA_MAX_AGE=72 # 3 dias
- - N8N_PERSONALIZATION_ENABLED=true
- - N8N_PUSH_BACKEND=websocket
- - N8N_VERSION_NOTIFICATIONS_ENABLED=false
- - EXECUTIONS_TIMEOUT=3600
- - N8N_WORKFLOW_TAGS_DISABLED=false
- - N8N_HIDE_USAGE_PAGE=true
- - N8N_BLOCK_FILE_ACCESS_TO_N8N_FILES=false
- # Configura o Modo de Deploy da Aplicação
- deploy:
- # O editor será executado no modo de replicação
- mode: replicated
- # Vamos ter apenas uma instância do editor
- replicas: 1
- # Configura o local de execução
- placement:
- constraints:
- # Você pode rodar o Editor no Manager mesmo pois usa poucos recursos
- - node.role == manager
- # - node.hostname == dsantana-manager1
- # - node.labels.app == http # nome do label: app, valor do label: http
- # Limitação
- resources:
- # Definição dos Limites de Recursos deste Serviço
- limits:
- # Define a quantidade de CPU para o CodeChat para evitar travamento do Host
- cpus: "1"
- # Define a quantidade de RAM para o CodeChat para evitar travamento do Host
- memory: 1024M
- labels:
- # Configura o Roteamento do Traefik
- - traefik.enable=true
- - traefik.http.routers.n8n_editor.rule=Host(`${N8N_DOMINIO_EDITOR}.${DOMINIO_PRINCIPAL_CLIENTE}`)
- - traefik.http.routers.n8n_editor.entrypoints=websecure
- - traefik.http.routers.n8n_editor.priority=1
- - traefik.http.routers.n8n_editor.tls.certresolver=letsencryptresolver
- - traefik.http.routers.n8n_editor.service=n8n_editor
- - traefik.http.services.n8n_editor.loadbalancer.server.port=5678
- - traefik.http.services.n8n_editor.loadbalancer.passHostHeader=1
- n8n_webhook:
- # imagem do docker
- image: n8nio/n8n:1.41.0
- # comando padrão para subir o servidor web
- command: webhook
- # configura a rede do serviço
- networks:
- - network_public
- # configura as variáveis de ambiente
- environment:
- - GENERIC_TIMEZONE=America/Sao_Paulo
- # Define o Tipo de Banco de Dados para Postgres
- - DB_TYPE=postgresdb
- # Configura o Nome do Banco de Dados
- - DB_POSTGRESDB_DATABASE=n8n_queue
- # Configura o Host do Banco de Dados
- - DB_POSTGRESDB_HOST=postgres
- # Configura a Porta do Banco de Dados
- - DB_POSTGRESDB_PORT=5432
- # Configura o Usuário do Banco de Dados
- - DB_POSTGRESDB_USER=postgres
- # Configura a Senha do Banco de Dados
- - DB_POSTGRESDB_PASSWORD=${POSTGRES_SENHA}
- # usa a mesma chave criada no editor
- - N8N_ENCRYPTION_KEY=3DA3144FD4965723
- # Configura o Host do Editor do N8N
- - N8N_HOST=${N8N_DOMINIO_EDITOR}.${DOMINIO_PRINCIPAL_CLIENTE}
- # Configura o Endereço competo do Editor
- - N8N_EDITOR_BASE_URL=https://${N8N_DOMINIO_EDITOR}.${DOMINIO_PRINCIPAL_CLIENTE}/
- # Força o uso de SSL
- - N8N_PROTOCOL=https
- # Configura o ambiente de execução
- - NODE_ENV=production
- # Configura o Endereço do Webhook
- - WEBHOOK_URL=https://${N8N_DOMINIO_WEBHOOK}.${DOMINIO_PRINCIPAL_CLIENTE}/
- # Configura o modo de execução para fila
- - EXECUTIONS_MODE=queue
- # Configura o host do Redis
- - QUEUE_BULL_REDIS_HOST=redis
- # Configura a porta do Redis
- - QUEUE_BULL_REDIS_PORT=6379
- # Configura o indice do banco de dados do Redis
- - QUEUE_BULL_REDIS_DB=2
- # Configura as bibliotecas externas que serão utilizadas
- - NODE_FUNCTION_ALLOW_BUILTIN=*
- - NODE_FUNCTION_ALLOW_EXTERNAL=moment,lodash,moment-with-locales,axios,crypto
- # Configura a limpeza dos dados de execução
- - EXECUTIONS_DATA_PRUNE=true
- # Configura o tempo máximo de armazenamento dos dados de execução
- - EXECUTIONS_DATA_MAX_AGE=72 # 3 dias
- - N8N_PERSONALIZATION_ENABLED=true
- - N8N_PUSH_BACKEND=websocket
- - N8N_VERSION_NOTIFICATIONS_ENABLED=false
- - EXECUTIONS_TIMEOUT=3600
- - N8N_WORKFLOW_TAGS_DISABLED=false
- - N8N_HIDE_USAGE_PAGE=true
- - N8N_BLOCK_FILE_ACCESS_TO_N8N_FILES=false
- # Configura o Modo de Deploy da Aplicação
- deploy:
- # O editor será executado no modo de replicação
- mode: replicated
- # Vamos ter apenas uma instância do editor
- replicas: 1
- # Configura o local de execução
- placement:
- # Você pode rodar o Editor no Manager mesmo pois usa poucos recursos
- constraints:
- - node.role == manager
- # - node.hostname == dsantana-manager1
- # - node.labels.app == workers # nome do label: app, valor do label: workers
- resources:
- # Definição dos Limites de Recursos deste Serviço
- limits:
- # Define a quantidade de CPU para o CodeChat para evitar travamento do Host
- cpus: "1"
- # Define a quantidade de RAM para o CodeChat para evitar travamento do Host
- memory: 1024M
- labels:
- # Configura o Roteamento do Traefik
- - traefik.enable=true
- - traefik.http.routers.n8n_webhook.rule=(Host(`${N8N_DOMINIO_WEBHOOK}.${DOMINIO_PRINCIPAL_CLIENTE}`))
- - traefik.http.routers.n8n_webhook.entrypoints=websecure
- - traefik.http.routers.n8n_webhook.priority=1
- - traefik.http.routers.n8n_webhook.tls.certresolver=letsencryptresolver
- - traefik.http.routers.n8n_webhook.service=n8n_webhook
- - traefik.http.services.n8n_webhook.loadbalancer.server.port=5678
- - traefik.http.services.n8n_webhook.loadbalancer.passHostHeader=1
- n8n_worker:
- # imagem do docker
- image: n8nio/n8n:1.41.0
- # comando padrão para subir o servidor web
- command: worker --concurrency=10
- # configura a rede do serviço
- networks:
- - network_public
- # configura as variáveis de ambiente
- environment:
- - GENERIC_TIMEZONE=America/Sao_Paulo
- # Define o Tipo de Banco de Dados para Postgres
- - DB_TYPE=postgresdb
- # Configura o Nome do Banco de Dados
- - DB_POSTGRESDB_DATABASE=n8n_queue
- # Configura o Host do Banco de Dados
- - DB_POSTGRESDB_HOST=postgres
- # Configura a Porta do Banco de Dados
- - DB_POSTGRESDB_PORT=5432
- # Configura o Usuário do Banco de Dados
- - DB_POSTGRESDB_USER=postgres
- # Configura a Senha do Banco de Dados
- - DB_POSTGRESDB_PASSWORD=${POSTGRES_SENHA}
- # usa a mesma chave criada no editor
- - N8N_ENCRYPTION_KEY=3DA3144FD4965723
- # Configura o Host do Editor do N8N
- - N8N_HOST=${N8N_DOMINIO_EDITOR}.${DOMINIO_PRINCIPAL_CLIENTE}
- # Configura o Endereço competo do Editor
- - N8N_EDITOR_BASE_URL=https://${N8N_DOMINIO_EDITOR}.${DOMINIO_PRINCIPAL_CLIENTE}/
- # Força o uso de SSL
- - N8N_PROTOCOL=https
- # Configura o ambiente de execução
- - NODE_ENV=production
- # Configura o Endereço do Webhook
- - WEBHOOK_URL=https://${N8N_DOMINIO_WEBHOOK}.${DOMINIO_PRINCIPAL_CLIENTE}/
- # Configura o modo de execução para fila
- - EXECUTIONS_MODE=queue
- # Configura o host do Redis
- - QUEUE_BULL_REDIS_HOST=redis
- # Configura a porta do Redis
- - QUEUE_BULL_REDIS_PORT=6379
- # Configura o indice do banco de dados do Redis
- - QUEUE_BULL_REDIS_DB=2
- # Configura as bibliotecas externas que serão utilizadas
- - NODE_FUNCTION_ALLOW_BUILTIN=*
- - NODE_FUNCTION_ALLOW_EXTERNAL=moment,lodash,moment-with-locales,axios,crypto
- # Configura a limpeza dos dados de execução
- - EXECUTIONS_DATA_PRUNE=true
- # Configura o tempo máximo de armazenamento dos dados de execução
- - EXECUTIONS_DATA_MAX_AGE=72 # 3 dias
- - N8N_PERSONALIZATION_ENABLED=true
- - N8N_PUSH_BACKEND=websocket
- - N8N_VERSION_NOTIFICATIONS_ENABLED=false
- - EXECUTIONS_TIMEOUT=3600
- - N8N_WORKFLOW_TAGS_DISABLED=false
- - N8N_HIDE_USAGE_PAGE=true
- - N8N_BLOCK_FILE_ACCESS_TO_N8N_FILES=false
- # Configura o Modo de Deploy da Aplicação
- deploy:
- # O editor será executado no modo de replicação
- mode: replicated
- # Vamos ter apenas uma instância do editor
- replicas: 1
- # Configura o local de execução
- placement:
- # Você pode rodar o Editor no Manager mesmo pois usa poucos recursos
- constraints:
- - node.role == manager
- # - node.hostname == dsantana-manager1
- # - node.labels.app == webhooks # nome do label: app, valor do label: webhooks
- resources:
- # Definição dos Limites de Recursos deste Serviço
- limits:
- # Define a quantidade de CPU para o CodeChat para evitar travamento do Host
- cpus: "1"
- # Define a quantidade de RAM para o CodeChat para evitar travamento do Host
- memory: 1024M
- networks:
- network_public:
- name: network_public
- external: true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement