Pular para conteúdo

Manutencao

Verificacao de Saude

Checklist Diario

# 1. Todos os servicos rodando?
docker service ls

# 2. Algum servico com replicas 0/1?
docker service ls | awk '$3 ~ /0\//'

# 3. Logs de erro recentes?
docker service logs marie_ai_backend --since 1h 2>&1 | grep ERROR
docker service logs marie_ai_frontend --since 1h 2>&1 | grep ERROR

Checklist Semanal

# 1. Espaco em disco
df -h

# 2. Uso de memoria
free -h

# 3. Imagens Docker antigas
docker image ls --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}\t{{.CreatedSince}}"

# 4. Containers parados
docker ps -a --filter "status=exited"

Limpeza de Imagens Docker

# Remover imagens nao utilizadas (com confirmacao)
docker image prune -a

# Remover apenas imagens sem tag
docker image prune

# Remover tudo (imagens, containers parados, networks nao usadas)
docker system prune -a

Warning

docker system prune -a remove todas as imagens nao usadas por containers ativos. O proximo deploy precisara fazer pull novamente.

Backup de Dados

RabbitMQ

Os dados ficam em /mnt/data/rabbitmq. Para backup:

sudo tar -czf /tmp/rabbitmq-backup-$(date +%Y%m%d).tar.gz /mnt/data/rabbitmq

WhatsApp Sessions

As sessoes ficam em /mnt/data/whatsapp. Para backup:

sudo tar -czf /tmp/whatsapp-backup-$(date +%Y%m%d).tar.gz /mnt/data/whatsapp

MongoDB

O MongoDB Atlas tem backup automatico. Para backup manual:

mongodump --uri="mongodb+srv://..." --db=dev-marie --out=/tmp/mongo-backup-$(date +%Y%m%d)

Variaveis de Ambiente

sudo tar -czf /tmp/env-backup-$(date +%Y%m%d).tar.gz /opt/marie_ai_backend/.env /opt/marie_ai_frontend/.env /opt/webhook_whatsapp/.env

Atualizar Imagem Base dos Servicos

Para atualizar Go-Whatsmeow ou RabbitMQ para versao mais recente:

# Editar a tag da imagem no docker-compose.yml
nano ~/stacks/whatsapp/docker-compose.yml

# Redeployar
docker stack deploy -c ~/stacks/whatsapp/docker-compose.yml whatsapp

Monitorar Uso de Recursos

# Uso de CPU/memoria por container
docker stats --no-stream

# Uso de disco por volume
du -sh /mnt/data/*

Renovar Certificados / Tokens

Item Renovacao
Cloudflare Tunnel Automatica
RD Station OAuth2 Automatica (via backend)
MongoDB Atlas Sem expiracao (connection string)
Google API Key Sem expiracao
GCS Service Account Sem expiracao (chave privada)
SSH Keys Manual (rotacionar periodicamente)