87 lines
3.5 KiB
YAML
87 lines
3.5 KiB
YAML
version: "3.7"
|
|
|
|
services:
|
|
tcaudio:
|
|
image: impacteai/transcrevezap:dev
|
|
networks:
|
|
- sua_rede_externa # Substitua pelo nome da sua rede externa
|
|
ports:
|
|
- 8005:8005 # Porta para FastAPI
|
|
- 8501:8501 # Porta para Streamlit
|
|
environment:
|
|
- UVICORN_PORT=8005
|
|
- UVICORN_HOST=0.0.0.0
|
|
- UVICORN_RELOAD=true
|
|
- UVICORN_WORKERS=1
|
|
- API_DOMAIN=seu.dominio.com #coloque seu subdominio da API apontado aqui
|
|
- DEBUG_MODE=false
|
|
- LOG_LEVEL=INFO
|
|
- MANAGER_USER=seu_usuario_admin # Defina Usuário do Manager
|
|
- MANAGER_PASSWORD=sua_senha_segura # Defina Senha do Manager
|
|
- REDIS_HOST=redis-transcrevezap
|
|
- REDIS_PORT=6380 # Porta personalizada para o Redis do TranscreveZAP
|
|
- REDIS_DB=0 # Opcional: pode ser removida para usar o valor padrão
|
|
# Autenticação Redis (opcional - descomente se necessário, se estiver usando autenticação)
|
|
# - REDIS_USERNAME=${REDIS_USERNAME:-} # Nome do usuário definido no comando do Redis
|
|
# - REDIS_PASSWORD=${REDIS_PASSWORD:-} # Senha definida no comando do Redis (sem o '>')
|
|
depends_on:
|
|
- redis-transcrevezap
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.tcaudio.rule=Host(`seu.dominio.com`) #coloque seu subdominio da API apontado aqui
|
|
- traefik.http.routers.tcaudio.entrypoints=websecure
|
|
- traefik.http.routers.tcaudio.tls.certresolver=letsencryptresolver
|
|
- traefik.http.services.tcaudio.loadbalancer.server.port=8005
|
|
- traefik.http.services.tcaudio.loadbalancer.passHostHeader=true
|
|
- traefik.http.routers.tcaudio.service=tcaudio
|
|
- traefik.http.middlewares.traefik-compress.compress=true
|
|
- traefik.http.routers.tcaudio.middlewares=traefik-compress
|
|
# Configuração do Streamlit
|
|
- traefik.http.routers.tcaudio-manager.rule=Host(`manager.seu.dominio.com`) #coloque seu subdominio do Manager apontado aqui
|
|
- traefik.http.routers.tcaudio-manager.entrypoints=websecure
|
|
- traefik.http.routers.tcaudio-manager.tls.certresolver=letsencryptresolver
|
|
- traefik.http.services.tcaudio-manager.loadbalancer.server.port=8501
|
|
- traefik.http.routers.tcaudio-manager.service=tcaudio-manager
|
|
command: ./start.sh
|
|
|
|
redis-transcrevezap:
|
|
image: redis:6
|
|
# 1. Configuração SEM autenticação (padrão):
|
|
command: redis-server --port 6380 --appendonly yes
|
|
# 2. Configuração COM autenticação (descomente e ajuste se necessário):
|
|
# command: >
|
|
# redis-server
|
|
# --port 6380
|
|
# --appendonly yes
|
|
# --user seuusuario on '>minhasenha' '~*' '+@all'
|
|
# # Explicação dos parâmetros:
|
|
# # --user seuusuario: nome do usuário
|
|
# # on: indica início da configuração do usuário
|
|
# # '>minhasenha': senha do usuário (mantenha o '>')
|
|
# # '~*': permite acesso a todas as chaves
|
|
# # '+@all': concede todas as permissões
|
|
volumes:
|
|
- redis_transcrevezap_data:/data
|
|
networks:
|
|
- sua_rede_externa # Substitua pelo nome da sua rede externa
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
|
|
networks:
|
|
sua_rede_externa: # Substitua pelo nome da sua rede externa
|
|
external: true
|
|
name: sua_rede_externa # Substitua pelo nome da sua rede externa
|
|
|
|
volumes:
|
|
redis_transcrevezap_data:
|
|
driver: local |