Sign inSign up

ezequiascandeia/synplug

By ezequiascandeia

Updated 5 months ago

Visite nosso site em https://synplug.com

Image
0

4.3K

ezequiascandeia/synplug repository overview

# Stack Docker Swarm
services:
  synplug:
    image: ezequiascandeia/synplug
    hostname: "{{.Service.Name}}.{{.Task.Slot}}"
    networks:
      - network_public
    volumes:
      - synplug_data:/app/_data
    depends_on:
      - postgres_synplug
    environment:
      # base de dados synplug precisa ser criada
      - DATABASE_URL=postgresql://user_synplug:p6SghZbBtxz612FwYk@postgres_synplug:5432/synplug
      # - DB_SSL=true # true|false - Conexão SSL com o banco de dados [default false]
      # - DATABASE_SCHEMA=synplug # Configuração do Schema do banco de dados [default public]

      - ADMIN_TOKEN=92b6XM9mKEvRmW4Xxs
      - USER_TOKEN=12345
      - UTILS_TOKEN=1234 # Token para acessar as rotas utilitárias em /utils
      - SERVER_URL=https://synplug.meudominio.com.br

      # URL do Chatwoot
      - CHATWOOT_URL=https://chat.meudominio.com.br

      # Zuckzapgo
      - ZUCKZAPGO_URL=https://zapgo.meudominio.com.br
      - ZUCKZAPGO_TOKEN_ADMIN=token_api_admin

      # Wuzapi
      # - WUZAPI_URL=https://wuzapi.meudominio.com.br
      # - WUZAPI_TOKEN_ADMIN=token_wuzapi

      # DinastIAAPI
      # DINASTIAPI_URL=https://dinastiaapi.meudominio.com.br
      # DINASTIAPI_TOKEN_ADMIN=token_dinastiaapi

      # =================== MONITORAMENTO DE ERROS (SENTRY) ===================
      # SENTRY_ENABLED: Liga/desliga a captura de exceções pela SDK do Sentry.
      - SENTRY_ENABLED=false
      # SENTRY_DSN: DSN fornecido pelo projeto Sentry para autenticação. (https://[email protected]/blabla)
      - SENTRY_DSN=
      # SENTRY_SAMPLE_RATE: Percentual de erros capturados (0.0 a 1.0).
      - SENTRY_SAMPLE_RATE=1.0
      # SENTRY_TRACES_SAMPLE_RATE: Percentual de transações de performance coletadas.
      - SENTRY_TRACES_SAMPLE_RATE=0.1
      # SENTRY_PROFILES_SAMPLE_RATE: Percentual de perfis de CPU/memória coletados.
      - SENTRY_PROFILES_SAMPLE_RATE=0.1
      # SENTRY_CONSOLE_LOGGING_LEVELS: Habilita o logging de console no Sentry. Níveis: log, info, warn, error, debug (separados por vírgula).
      - SENTRY_CONSOLE_LOGGING_LEVELS=""

      # PERSONALIZAÇÃO DA INSTALAÇÃO
      - INSTALLATION_NAME=Zuckzapgo
      - INSTALLATION_ICON=https://api.zuckzapgo.com/images/favicon.png

      - VERBOSE=true # console.log dos eventos recebidos [true|false]
      - SAVE_PAYLOAD=true # grava o payload de todas as requisições enviadas pelo webhook [true|false]

      # QUANDO HABILITADO PODE IMPACTAR A PERFORMANCE NA INTEGRAÇÃO DAS MENSAGENS
      # USAR APENAS EM CASOS DE PROBLEMAS DE DUPLICIDADE DOS WEBHOOKS
      - IGNORE_DUPLICATE_WHATSAPP_MESSAGE=false

      # CONFIGURAÇÃO DO DELAY PARA O ENVIO DE MEDIAS (PROBLEMA COM BUCKET S3 NO CHATWOOT) EVITE UM DELAY MAIOR QUE 5000 milisegundos (5 segundos)
      - SEND_ATTACHMENT_DELAY_MS=5000
    command: npm run start
    deploy:
      replicas: 1
      mode: replicated
      labels:
        - "traefik.enable=true"
        - "traefik.docker.network=network_public"
        - "traefik.http.routers.synplug.rule=Host(`synplug.meudominio.com.br`)"
        - "traefik.http.routers.synplug.entrypoints=websecure"
        - "traefik.http.routers.synplug.service=synplug"
        - "traefik.http.routers.synplug.tls.certresolver=letsencryptresolver"
        - "traefik.http.services.synplug.loadbalancer.server.port=3008"
      placement:
        constraints:
          - node.role == manager
      resources:
        limits:
          cpus: "0.50"
          memory: 1024M

  synplug_worker:
    image: ezequiascandeia/synplug
    hostname: "{{.Service.Name}}.{{.Task.Slot}}"
    networks:
      - network_public
    volumes:
      - synplug_data:/app/_data
    depends_on:
      - postgres_synplug
    environment:
      # base de dados synplug precisa ser criada
      - DATABASE_URL=postgresql://user_synplug:p6SghZbBtxz612FwYk@postgres_synplug:5432/synplug
      # - DB_SSL=true # true|false - Conexão SSL com o banco de dados [default false]
      # - DATABASE_SCHEMA=synplug # Configuração do Schema do banco de dados [default public]

      - ADMIN_TOKEN=92b6XM9mKEvRmW4Xxs
      - USER_TOKEN=12345
      - UTILS_TOKEN=1234 # Token para acessar as rotas utilitárias em /utils
      - SERVER_URL=https://hubchat.meudominio.com.br

      # URL do Chatwoot
      - CHATWOOT_URL=https://chat.meudominio.com.br

      # Zuckzapgo
      - ZUCKZAPGO_URL=https://zapgo.meudominio.com.br
      - ZUCKZAPGO_TOKEN_ADMIN=token_api_admin

      # Wuzapi
      # - WUZAPI_URL=https://wuzapi.meudominio.com.br
      # - WUZAPI_TOKEN_ADMIN=token_wuzapi

      # DinastIAAPI
      # DINASTIAPI_URL=https://dinastiaapi.meudominio.com.br
      # DINASTIAPI_TOKEN_ADMIN=token_dinastiaapi

      # =================== MONITORAMENTO DE ERROS (SENTRY) ===================
      # SENTRY_ENABLED: Liga/desliga a captura de exceções pela SDK do Sentry.
      - SENTRY_ENABLED=false
      # SENTRY_DSN: DSN fornecido pelo projeto Sentry para autenticação. (https://[email protected]/blabla)
      - SENTRY_DSN=
      # SENTRY_SAMPLE_RATE: Percentual de erros capturados (0.0 a 1.0).
      - SENTRY_SAMPLE_RATE=1.0
      # SENTRY_TRACES_SAMPLE_RATE: Percentual de transações de performance coletadas.
      - SENTRY_TRACES_SAMPLE_RATE=0.1
      # SENTRY_PROFILES_SAMPLE_RATE: Percentual de perfis de CPU/memória coletados.
      - SENTRY_PROFILES_SAMPLE_RATE=0.1
      # SENTRY_CONSOLE_LOGGING_LEVELS: Habilita o logging de console no Sentry. Níveis: log, info, warn, error, debug (separados por vírgula).
      - SENTRY_CONSOLE_LOGGING_LEVELS=""

      # PERSONALIZAÇÃO DA INSTALAÇÃO
      - INSTALLATION_NAME=Zuckzapgo
      - INSTALLATION_ICON=https://api.zuckzapgo.com/images/favicon.png

      - VERBOSE=true # console.log dos eventos recebidos [true|false]
      - SAVE_PAYLOAD=true # grava o payload de todas as requisições enviadas pelo webhook [true|false]

      # QUANDO HABILITADO PODE IMPACTAR A PERFORMANCE NA INTEGRAÇÃO DAS MENSAGENS
      # USAR APENAS EM CASOS DE PROBLEMAS DE DUPLICIDADE DOS WEBHOOKS
      - IGNORE_DUPLICATE_WHATSAPP_MESSAGE=false

      # CONFIGURAÇÃO DO DELAY PARA O ENVIO DE MEDIAS (PROBLEMA COM BUCKET S3 NO CHATWOOT) EVITE UM DELAY MAIOR QUE 5000 milisegundos (5 segundos)
      - SEND_ATTACHMENT_DELAY_MS=5000
    command: npm run worker
    deploy:
      replicas: 2
      mode: replicated
      placement:
        constraints:
          - node.role == manager
      resources:
        limits:
          cpus: "0.50"
          memory: 1024M

  postgres_synplug:
    image: postgres:17
    environment:
      - POSTGRES_USER=user_synplug
      - POSTGRES_PASSWORD=p6SghZbBtxz612FwYk
      - POSTGRES_DB=synplug
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      resources:
        limits:
          cpus: "1"
          memory: 3072M
    volumes:
      - postgres_synplug_data:/var/lib/postgresql/data
    networks:
      - network_public

volumes:
  postgres_synplug_data:
    external: true
  synplug_data:
    external: true
networks:
  network_public:
    external: true

Tag summary

Content type

Image

Digest

sha256:edc4a0d87

Size

149.6 MB

Last updated

5 months ago

docker pull ezequiascandeia/synplug