alterações nas orientações de uso da nova aplicação
This commit is contained in:
parent
a299805fee
commit
74f01bfb1d
@ -3,30 +3,24 @@ version: "3.7"
|
|||||||
services:
|
services:
|
||||||
tcaudio:
|
tcaudio:
|
||||||
image: impacteai/transcrevezap:latest
|
image: impacteai/transcrevezap:latest
|
||||||
build: .
|
|
||||||
networks:
|
networks:
|
||||||
- suarededocker
|
- transcrevezap_network
|
||||||
ports:
|
ports:
|
||||||
- 8005:8005 # FastAPI
|
- 8005:8005 # Porta para FastAPI
|
||||||
- 8501:8501 # Streamlit
|
- 8501:8501 # Porta para Streamlit
|
||||||
environment:
|
environment:
|
||||||
Uvicorn_port: 8005
|
- UVICORN_PORT=8005
|
||||||
Uvicorn_host: 0.0.0.0
|
- UVICORN_HOST=0.0.0.0
|
||||||
Uvicorn_reload: "true"
|
- UVICORN_RELOAD=true
|
||||||
Uvicorn_workers: 1
|
- UVICORN_WORKERS=1
|
||||||
GROQ_API_KEY: "${GROQ_API_KEY}"
|
- DEBUG_MODE=false
|
||||||
BUSINESS_MESSAGE: "*Impacte AI* Premium Services"
|
- LOG_LEVEL=INFO
|
||||||
PROCESS_GROUP_MESSAGES: "false"
|
- MANAGER_USER=seu_usuario_admin
|
||||||
PROCESS_SELF_MESSAGES: "true"
|
- MANAGER_PASSWORD=sua_senha_segura
|
||||||
DEBUG_MODE: "false"
|
- REDIS_HOST=redis-transcrevezap
|
||||||
LOG_LEVEL: "INFO"
|
- REDIS_PORT=6380
|
||||||
MANAGER_USER: "admin"
|
depends_on:
|
||||||
MANAGER_PASSWORD: "impacte2024"
|
- redis-transcrevezap
|
||||||
volumes:
|
|
||||||
- ./config.json:/app/config.json
|
|
||||||
- ./backups:/app/backups
|
|
||||||
- ./transcription_logs.json:/app/transcription_logs.json
|
|
||||||
- ./static:/app/static
|
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
replicas: 1
|
replicas: 1
|
||||||
@ -35,7 +29,7 @@ services:
|
|||||||
- node.role == manager
|
- node.role == manager
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.routers.tcaudio.rule=Host(`transcrevezap.seudominio.com.br`)
|
- traefik.http.routers.tcaudio.rule=Host(`seu.dominio.com`)
|
||||||
- traefik.http.routers.tcaudio.entrypoints=websecure
|
- traefik.http.routers.tcaudio.entrypoints=websecure
|
||||||
- traefik.http.routers.tcaudio.tls.certresolver=letsencryptresolver
|
- traefik.http.routers.tcaudio.tls.certresolver=letsencryptresolver
|
||||||
- traefik.http.services.tcaudio.loadbalancer.server.port=8005
|
- traefik.http.services.tcaudio.loadbalancer.server.port=8005
|
||||||
@ -44,13 +38,26 @@ services:
|
|||||||
- traefik.http.middlewares.traefik-compress.compress=true
|
- traefik.http.middlewares.traefik-compress.compress=true
|
||||||
- traefik.http.routers.tcaudio.middlewares=traefik-compress
|
- traefik.http.routers.tcaudio.middlewares=traefik-compress
|
||||||
# Configuração do Streamlit
|
# Configuração do Streamlit
|
||||||
- traefik.http.routers.tcaudio-manager.rule=Host(`manager.transcrevezap.seudominio.com.br`)
|
- traefik.http.routers.tcaudio-manager.rule=Host(`manager.seu.dominio.com`)
|
||||||
- traefik.http.routers.tcaudio-manager.entrypoints=websecure
|
- traefik.http.routers.tcaudio-manager.entrypoints=websecure
|
||||||
- traefik.http.routers.tcaudio-manager.tls.certresolver=letsencryptresolver
|
- traefik.http.routers.tcaudio-manager.tls.certresolver=letsencryptresolver
|
||||||
- traefik.http.services.tcaudio-manager.loadbalancer.server.port=8501
|
- traefik.http.services.tcaudio-manager.loadbalancer.server.port=8501
|
||||||
- traefik.http.routers.tcaudio-manager.service=tcaudio-manager
|
- traefik.http.routers.tcaudio-manager.service=tcaudio-manager
|
||||||
|
command: ./start.sh
|
||||||
|
|
||||||
|
redis-transcrevezap:
|
||||||
|
image: redis:6
|
||||||
|
command: redis-server --port 6380 --appendonly yes
|
||||||
|
volumes:
|
||||||
|
- redis_transcrevezap_data:/data
|
||||||
|
networks:
|
||||||
|
- transcrevezap_network
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
suarededocker:
|
transcrevezap_network:
|
||||||
external: true
|
external: true
|
||||||
name: suarededocker
|
name: sua_rede_externa # Substitua pelo nome da sua rede externa
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
redis_transcrevezap_data:
|
||||||
|
driver: local
|
BIN
fluxo.png
BIN
fluxo.png
Binary file not shown.
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 55 KiB |
@ -68,7 +68,9 @@ def show_logo():
|
|||||||
try:
|
try:
|
||||||
logo_path = os.path.join(os.path.dirname(__file__), "static", "fluxo.png")
|
logo_path = os.path.join(os.path.dirname(__file__), "static", "fluxo.png")
|
||||||
if os.path.exists(logo_path):
|
if os.path.exists(logo_path):
|
||||||
st.image(logo_path, width=150)
|
col1, col2, col3 = st.columns([1, 2, 1])
|
||||||
|
with col2:
|
||||||
|
st.image(logo_path, width=300) # Aumentado o tamanho para 300
|
||||||
else:
|
else:
|
||||||
st.warning("Logo não encontrada.")
|
st.warning("Logo não encontrada.")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -77,7 +79,7 @@ def show_logo():
|
|||||||
def show_footer():
|
def show_footer():
|
||||||
st.markdown(
|
st.markdown(
|
||||||
"""
|
"""
|
||||||
<div class="footer">
|
<div class="footer" style="text-align: center; margin-top: 50px;">
|
||||||
<p>Desenvolvido por <a href="https://impacte.ai" target="_blank">Impacte AI</a> |
|
<p>Desenvolvido por <a href="https://impacte.ai" target="_blank">Impacte AI</a> |
|
||||||
Código fonte no <a href="https://github.com/impacte-ai/transcrevezap" target="_blank">GitHub</a></p>
|
Código fonte no <a href="https://github.com/impacte-ai/transcrevezap" target="_blank">GitHub</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
168
readme.md
168
readme.md
@ -19,29 +19,74 @@ Antes de começar, certifique-se de ter os seguintes requisitos:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ⚙️ **Setup Local**
|
## 🚀 **Instalação e Configuração**
|
||||||
|
|
||||||
### Ambiente Virtual
|
### 🐳 Docker Compose
|
||||||
Configure o ambiente virtual para instalar as dependências do projeto:
|
1. Clone o repositório:
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/seu-usuario/transcrevezap.git
|
||||||
|
cd transcrevezap
|
||||||
|
```
|
||||||
|
2. Configure o arquivo `docker-compose.yaml`:
|
||||||
|
```yaml
|
||||||
|
version: "3.7"
|
||||||
|
services:
|
||||||
|
tcaudio:
|
||||||
|
image: impacteai/transcrevezap:latest
|
||||||
|
ports:
|
||||||
|
- 8005:8005 # Porta para FastAPI
|
||||||
|
- 8501:8501 # Porta para Streamlit
|
||||||
|
environment:
|
||||||
|
- REDIS_HOST=redis
|
||||||
|
- REDIS_PORT=6380
|
||||||
|
- MANAGER_USER=admin
|
||||||
|
- MANAGER_PASSWORD=sua_senha_aqui
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:6
|
||||||
|
command: redis-server --port 6380 --appendonly yes
|
||||||
|
volumes:
|
||||||
|
- redis_data:/data
|
||||||
|
|
||||||
#### **Linux ou macOS**
|
volumes:
|
||||||
```bash
|
redis_data:
|
||||||
virtualenv venv
|
|
||||||
source ./venv/bin/activate
|
|
||||||
pip install -r requirements.txt
|
|
||||||
```
|
```
|
||||||
#### **Windows**
|
3. Inicie os serviços:
|
||||||
```bash
|
```bash
|
||||||
python -m venv .venv
|
docker-compose up -d
|
||||||
source .venv/Scripts/activate
|
|
||||||
pip install -r requirements.txt
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Configuração do Arquivo .env
|
## 📖 Configuração da Interface
|
||||||
Copie o arquivo `.env.example` para `.env` e configure suas variáveis:
|
|
||||||
|
Acesse a interface de gerenciamento em http://seu-ip:8501.
|
||||||
|
Faça login com as credenciais definidas em MANAGER_USER e MANAGER_PASSWORD.
|
||||||
|
Na seção "Configurações", defina:
|
||||||
|
|
||||||
|
GROQ_API_KEY: Sua chave da API GROQ
|
||||||
|
BUSINESS_MESSAGE: Mensagem de rodapé após transcrição
|
||||||
|
PROCESS_GROUP_MESSAGES: Habilitar processamento de mensagens em grupos
|
||||||
|
PROCESS_SELF_MESSAGES: Habilitar processamento de mensagens próprias
|
||||||
|
|
||||||
|
|
||||||
|
## 🔧 Uso
|
||||||
|
Endpoint para Webhook da Evolution API
|
||||||
|
Configure o webhook da Evolution API para apontar para:
|
||||||
```bash
|
```bash
|
||||||
cp .env.example .env
|
http://seu-ip:8005/transcreve-audios
|
||||||
```
|
```
|
||||||
|
## 🔍 Troubleshooting
|
||||||
|
Se encontrar problemas:
|
||||||
|
|
||||||
|
1. Verifique os logs dos containers:
|
||||||
|
```bash
|
||||||
|
docker-compose logs
|
||||||
|
```
|
||||||
|
2. Certifique-se de que o Redis está rodando e acessível.
|
||||||
|
3. Verifique se todas as configurações foram salvas corretamente na interface.
|
||||||
|
|
||||||
|
|
||||||
## 📖 **Configuração Detalhada das Variáveis**
|
## 📖 **Configuração Detalhada das Variáveis**
|
||||||
|
|
||||||
### Variáveis Essenciais
|
### Variáveis Essenciais
|
||||||
@ -78,50 +123,32 @@ uvicorn main:app --host 0.0.0.0 --port 8005
|
|||||||
http://127.0.0.1:8005/transcreve-audios
|
http://127.0.0.1:8005/transcreve-audios
|
||||||
```
|
```
|
||||||
|
|
||||||
### 🐳 Docker Compose Simples
|
|
||||||
```yaml
|
|
||||||
version: "3.7"
|
|
||||||
services:
|
|
||||||
transcricaoaudio:
|
|
||||||
image: impacteai/transcrevezap:latest
|
|
||||||
ports:
|
|
||||||
- 8005:8005
|
|
||||||
environment:
|
|
||||||
Uvicorn_port: 8005
|
|
||||||
Uvicorn_host: 0.0.0.0
|
|
||||||
Uvicorn_reload: "true"
|
|
||||||
Uvicorn_workers: 1
|
|
||||||
GROQ_API_KEY: "substitua_sua_chave_GROQ_aqui" #coloque sua chave GROQ aqui
|
|
||||||
BUSINESS_MESSAGE: "substitua_sua_mensagem_de_servico_aqui" #coloque a mensagem que será enviada ao final da transcrição aqui
|
|
||||||
PROCESS_GROUP_MESSAGES: "false" # Define se mensagens de grupos devem ser processadas
|
|
||||||
PROCESS_SELF_MESSAGES: "true" # Define se sua próprias mensagens devem ser processadas
|
|
||||||
DEBUG_MODE: "false"
|
|
||||||
LOG_LEVEL: "INFO"
|
|
||||||
```
|
|
||||||
|
|
||||||
### 🌟 Docker Swarm com Traefik
|
### 🌟 Docker Swarm com Traefik
|
||||||
```yaml
|
```yaml
|
||||||
version: "3.7"
|
version: "3.7"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
transcricaoaudio:
|
tcaudio:
|
||||||
image: impacteai/transcrevezap:latest
|
image: impacteai/transcrevezap:latest
|
||||||
build: .
|
|
||||||
networks:
|
networks:
|
||||||
- suarededocker #troque pela sua rede do docker
|
- transcrevezap_network
|
||||||
ports:
|
ports:
|
||||||
- 8005:8005
|
- 8005:8005 # Porta para FastAPI
|
||||||
|
- 8501:8501 # Porta para Streamlit
|
||||||
environment:
|
environment:
|
||||||
Uvicorn_port: 8005
|
- UVICORN_PORT=8005
|
||||||
Uvicorn_host: 0.0.0.0
|
- UVICORN_HOST=0.0.0.0
|
||||||
Uvicorn_reload: "true"
|
- UVICORN_RELOAD=true
|
||||||
Uvicorn_workers: 1
|
- UVICORN_WORKERS=1
|
||||||
GROQ_API_KEY: "substitua_sua_chave_GROQ_aqui" #coloque sua chave GROQ aqui
|
- DEBUG_MODE=false
|
||||||
BUSINESS_MESSAGE: "substitua_sua_mensagem_de_servico_aqui" #coloque a mensagem que será enviada ao final da transcrição aqui
|
- LOG_LEVEL=INFO
|
||||||
PROCESS_GROUP_MESSAGES: "false" # Define se mensagens de grupos devem ser processadas
|
- MANAGER_USER=seu_usuario_admin
|
||||||
PROCESS_SELF_MESSAGES: "true" # Define se sua próprias mensagens devem ser processadas
|
- MANAGER_PASSWORD=sua_senha_segura
|
||||||
DEBUG_MODE: "false"
|
- REDIS_HOST=redis-transcrevezap
|
||||||
LOG_LEVEL: "INFO"
|
- REDIS_PORT=6380
|
||||||
|
depends_on:
|
||||||
|
- redis-transcrevezap
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
replicas: 1
|
replicas: 1
|
||||||
@ -130,23 +157,38 @@ services:
|
|||||||
- node.role == manager
|
- node.role == manager
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.routers.transcricaoaudio.rule=Host(`transcricaoaudio.seudominio.com.br`) #coloque seu subdominio apontado aqui
|
- traefik.http.routers.tcaudio.rule=Host(`seu.dominio.com`)
|
||||||
- traefik.http.routers.transcricaoaudio.entrypoints=websecure
|
- traefik.http.routers.tcaudio.entrypoints=websecure
|
||||||
- traefik.http.routers.transcricaoaudio.tls.certresolver=letsencryptresolver
|
- traefik.http.routers.tcaudio.tls.certresolver=letsencryptresolver
|
||||||
- traefik.http.services.transcricaoaudio.loadbalancer.server.port=8005
|
- traefik.http.services.tcaudio.loadbalancer.server.port=8005
|
||||||
- traefik.http.services.transcricaoaudio.loadbalancer.passHostHeader=true
|
- traefik.http.services.tcaudio.loadbalancer.passHostHeader=true
|
||||||
- traefik.http.routers.transcricaoaudio.service=transcricaoaudio
|
- traefik.http.routers.tcaudio.service=tcaudio
|
||||||
- traefik.http.middlewares.traefik-compress.compress=true
|
- traefik.http.middlewares.traefik-compress.compress=true
|
||||||
- traefik.http.routers.transcricaoaudio.middlewares=traefik-compress
|
- traefik.http.routers.tcaudio.middlewares=traefik-compress
|
||||||
resources:
|
# Configuração do Streamlit
|
||||||
limits:
|
- traefik.http.routers.tcaudio-manager.rule=Host(`manager.seu.dominio.com`)
|
||||||
cpus: "1"
|
- traefik.http.routers.tcaudio-manager.entrypoints=websecure
|
||||||
memory: 1024M
|
- 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
|
||||||
|
command: redis-server --port 6380 --appendonly yes
|
||||||
|
volumes:
|
||||||
|
- redis_transcrevezap_data:/data
|
||||||
|
networks:
|
||||||
|
- transcrevezap_network
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
suarededocker: #troque pela sua rede do docker
|
transcrevezap_network:
|
||||||
external: true
|
external: true
|
||||||
name: suarededocker #troque pela sua rede do docker
|
name: sua_rede_externa # Substitua pelo nome da sua rede externa
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
redis_transcrevezap_data:
|
||||||
|
driver: local
|
||||||
```
|
```
|
||||||
|
|
||||||
### Endpoint para inserir no webhook da Evolution API para consumir o serviço
|
### Endpoint para inserir no webhook da Evolution API para consumir o serviço
|
||||||
@ -180,6 +222,6 @@ Se encontrar problemas:
|
|||||||
Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.
|
Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.
|
||||||
|
|
||||||
---
|
---
|
||||||
### SE QUISER CONTRIBUIR COM O PROJETO, FAÇA O PIX NO QR CODE
|
### AJUDE CONTRIBUINDO COM O PROJETO, FAÇA O PIX NO QR CODE
|
||||||

|

|
||||||
---
|
---
|
BIN
static/fluxo.png
BIN
static/fluxo.png
Binary file not shown.
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 55 KiB |
Loading…
Reference in New Issue
Block a user