You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.0 KiB
3.0 KiB
Deploy do Telegram Satellite no Servidor
Este guia considera o modelo operacional atual do projeto:
- MySQL para tools e base mock
- Redis para estado conversacional
- Vertex AI para o modelo
- Telegram como canal principal
1) Fluxo com Git
# maquina local
git add .
git commit -m "ajustes no orquestrador"
git push origin main
# servidor
cd /opt/orquestrador
git pull origin main
2) Preparacao do ambiente
cd /opt/orquestrador
python3 -m venv venv
source venv/bin/activate
pip install -U pip
pip install -r requirements.txt
3) Dependencias externas
Garanta antes da subida:
- MySQL acessivel pelo host configurado
- Redis acessivel pelo host configurado
- credencial valida do Vertex AI
- token do bot do Telegram
4) Configurar .env.prod
Exemplo minimo:
GOOGLE_PROJECT_ID=seu-projeto
GOOGLE_LOCATION=us-central1
VERTEX_MODEL_NAME=gemini-2.5-pro
ENVIRONMENT=production
DEBUG=false
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=root
DB_PASSWORD=sua_senha
DB_NAME=orquestrador_mock
MOCK_DB_HOST=127.0.0.1
MOCK_DB_PORT=3306
MOCK_DB_USER=root
MOCK_DB_PASSWORD=sua_senha
MOCK_DB_NAME=orquestrador_mock
AUTO_SEED_TOOLS=true
AUTO_SEED_MOCK=true
MOCK_SEED_ENABLED=true
CONVERSATION_STATE_BACKEND=redis
CONVERSATION_STATE_TTL_MINUTES=60
REDIS_URL=redis://127.0.0.1:6379/0
REDIS_KEY_PREFIX=orquestrador
REDIS_SOCKET_TIMEOUT_SECONDS=5
TELEGRAM_BOT_TOKEN=seu_token_aqui
TELEGRAM_POLLING_TIMEOUT=30
TELEGRAM_REQUEST_TIMEOUT=45
Observacoes:
- em producao, o satelite exige
CONVERSATION_STATE_BACKEND=redis; - use
DEBUG=falseouDEBUG=true, sem valores livres comorelease.
5) Credencial do Vertex AI
Defina um dos formatos abaixo:
GOOGLE_APPLICATION_CREDENTIALS=/opt/orquestrador/sa.json- ou Application Default Credentials
A service account precisa de permissao de uso do Vertex AI, como roles/aiplatform.user.
6) Bootstrap manual inicial
Antes de ativar o servico, rode uma inicializacao manual para validar banco e seeds:
cd /opt/orquestrador
source venv/bin/activate
python -m app.db.init_db
7) Configurar systemd
Copie o template:
sudo cp deploy/systemd/orquestrador.service.example /etc/systemd/system/orquestrador.service
sudo nano /etc/systemd/system/orquestrador.service
Depois recarregue e inicie:
sudo systemctl daemon-reload
sudo systemctl enable --now orquestrador
sudo systemctl status orquestrador
Logs:
journalctl -u orquestrador -f
8) Validacao rapida
Checklist minimo:
- o servico sobe sem excecao
- o Redis responde
- o bot aparece online no Telegram
- uma mensagem simples recebe resposta
Teste funcional:
- Abra o bot no Telegram.
- Envie uma mensagem como
Ola. - Envie uma mensagem operacional como
Quero ver carros ate 50000 reais. - Verifique os logs do servico se necessario.
9) Atualizacao em producao
cd /opt/orquestrador
git pull origin main
source venv/bin/activate
pip install -r requirements.txt
sudo systemctl restart orquestrador
sudo systemctl status orquestrador