3.9 KiB
Executable File
3.9 KiB
Executable File
Deploy — Mônica no Debian 12
Este documento descreve como colocar o sistema Mônica para rodar de forma contínua em um servidor Debian 12 (Bookworm), com auto-start no boot e logs centralizados.
1. Pré-requisitos no servidor
sudo apt update
sudo apt install -y python3 python3-venv python3-pip git curl
Acesse o servidor como usuário comum (ex: marco ou ubuntu). NÃO execute como root a menos que saiba o que está fazendo.
2. Clonar o repositório
cd ~
git clone <URL_DO_REPOSITORIO> MonicaAgentIA
cd MonicaAgentIA/app
3. Configurar o ambiente
chmod +x iniciar.sh
cp .env.example .env
nano .env # edite com suas chaves
Preencha obrigatoriamente:
TELEGRAM_BOT_TOKENTELEGRAM_CHAT_ID- pelo menos uma chave de IA (
OPENROUTER_API_KEY,STEPFUN_API_KEYouQWENCLOUD_API_KEY)
4. Testar manualmente antes do deploy
./iniciar.sh
Envie uma mensagem no Telegram para o bot. Se responder, pare o processo com CTRL+C e prossiga.
5. Criar usuário de serviço dedicado (recomendado)
sudo useradd -r -s /bin/bash -m -d /home/monica mônica
sudo chown -R marco:marco /home/marco/MonicaAgentIA
Ajuste permissões:
sudo chmod 600 .env
6. Criar serviço systemd
Crie o arquivo /etc/systemd/system/monica.service:
[Unit]
Description=Mônica - Agente de IA Companheira
After=network.target
[Service]
Type=simple
User=marco
WorkingDirectory=/home/marco/MonicaAgentIA/app
Environment="PATH=/home/marco/MonicaAgentIA/app/venv/bin:/usr/bin:/bin"
ExecStart=/home/marco/MonicaAgentIA/app/venv/bin/python3 /home/marco/MonicaAgentIA/app/monica_agent.py
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
Ajuste User e WorkingDirectory conforme seu cenário.
7. Ativar e iniciar o serviço
sudo systemctl daemon-reload
sudo systemctl enable monica.service
sudo systemctl start monica.service
Comandos úteis:
sudo systemctl status monica.service # status
sudo journalctl -u monica.service -f # logs em tempo real
sudo systemctl restart monica.service # reiniciar após alterações
8. Verificar se está funcionando
sudo systemctl status monica.service
Envie uma mensagem no Telegram para o bot. Se não houver resposta, verifique os logs:
sudo journalctl -u monica.service -n 100 --no-pager
Possíveis causas se não responder
- Você está mandando mensagem para o bot errado — confira o username do bot (ex:
@hermesjogo1000_bot). - Chat ID errado — use
/debugno bot para ver o chat ID da mensagem e compare comTELEGRAM_CHAT_IDno.env. - Token inválido — o bot pode ter sido revogado no @BotFather.
- Firewall bloqueando saída — teste:
curl -s https://api.telegram.orgdeve funcionar. - Chave de IA ausente ou inválida — o bot recebe a mensagem mas não consegue responder; verifique os logs.
9. Atualizações
cd /home/marco/MonicaAgentIA
git pull
cd app
source venv/bin/activate
pip install -r requirements.txt -q
sudo systemctl restart monica.service
10. Segurança
- Nunca comite o arquivo
.envem repositórios públicos. - Restrinja permissões:
chmod 600 .env. - Revogue tokens expostos e gere novos no @BotFather ou nos provedores de IA.
- Considere usar um
.envfora do diretório do projeto se o servidor for compartilhado.
11. Estrutura final no servidor
/home/marco/MonicaAgentIA/
├── app/
│ ├── monica_agent.py
│ ├── iniciar.sh
│ ├── .env
│ ├── requirements.txt
│ ├── user_profile.json
│ ├── contexts/
│ │ └── YYYY-MM-DD.json
│ ├── README.md
│ └── LICENSE
├── venv/ # ambiente virtual local
└── .git/
Serviço: /etc/systemd/system/monica.service