Tutorial — do container Mautic ao update de plugins
Este tutorial cobre o fluxo completo, do zero: você tem um Mautic
rodando em Docker e sai com plugins instalados, atualizados e
gerenciados pelo mpm.
Diferente do Primeiro plugin (5min), aqui cada etapa mostra o que verificar, o que esperar de saída e o que fazer se travar.
Pré-requisitos
- Docker rodando no servidor
- Container Mautic ativo (qualquer major: 4, 5, 6, 7)
- Acesso root/sudo no host
- Acesso à conta de cliente em
https://mng.mtc.codes(pra pegar a API key)
1. Confirmar que o Mautic está no ar
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Image}}" | grep mauticAnote o nome do container (ex: mautic_prod) — vai usar em todas
as etapas.
Confirme a versão do Mautic:
docker exec mautic_prod php /var/www/html/bin/console --version
# Mautic 6.3.x - app/prod (env: prod, debug: false)Se o console falhar com "Could not open input file", provavelmente é
um Mautic 4 antigo com app/console em vez de bin/console. O mpm
detecta sozinho depois — só anote a major (4, 5, 6 ou 7).
2. Instalar o mpm
O mpm é um binário estático — instalação em um comando:
curl -sL https://mpm.mtc.codes/init.sh | sudo bashVerifica:
mpm --version
# mpm 0.2.xCria três coisas:
/opt/mpm/mpm— binário/opt/mpm/config.toml— configuração/usr/local/bin/mpm— symlink
3. Pegar sua API key
Em https://mng.mtc.codes:
- Login com sua conta
- Menu Conta → API Manager
- Clique em Gerar chave
- Copie a chave
mpm_live_...(ela só aparece uma vez)
Se você já tem key mas perdeu, use Rotacionar — a antiga fica invalidada e você recebe uma nova.
4. Configurar a API key no mpm
Edite /opt/mpm/config.toml:
[api]
base_url = "https://mng.mtc.codes/api/v1"
api_key = "mpm_live_xxxxxxxxxxxxxxxxxxxxxxxx"Ou grave por variável de ambiente (não precisa editar o arquivo):
export MPM_API_KEY="mpm_live_..."Ver detalhes em API key e fingerprint.
5. Registrar a instância Mautic
Um instance é um apelido pra um container. Você pode registrar vários (prod, staging, cliente_x):
mpm instance add prod \
--container mautic_prod \
--mautic-version 6 \
--url https://mautic.seudominio.com.br
mpm instance listSaída esperada:
Configured Instances
NAME CONTAINER MAUTIC STATUS URL
prod mautic_prod 6 running https://mautic.seudominio.com.br--mautic-version deve bater com a major do Mautic — se colocar
6 num container M4 o warmup vai falhar (e o mpm faz rollback
automaticamente, mas você perde tempo).
Se não souber o nome do container: mpm instance discover lista
todos os candidatos.
6. Ver o catálogo
O catálogo mostra os plugins da sua licença:
mpm catalog refresh
mpm catalog search archive
mpm catalog info archivemasterrefresh cacheia local por 24h — rode de novo se acabou de comprar
um plugin novo.
7. Instalar o plugin
mpm install archivemaster -i prodVocê verá o pipeline de 14 etapas:
[1/14] Resolving source...
[3/14] Downloading/resolving...
[5/14] Extracting ZIP...
[6/14] Validating plugin...
[7/14] Creating backup...
[8/14] Deploying to container...
[9/14] Fixing permissions...
[10/14] Clearing cache...
[11/14] Warming up cache...
[12/14] Running migrations...
[13/14] Enabling plugin...
[14/14] Verifying...
OK Archive Master v6.3.1 installed successfully in 'prod'Se qualquer etapa falhar, o rollback é automático: o backup do
/plugins/ é restaurado e o container fica no estado anterior. Você
não vai quebrar o Mautic mesmo se tentar instalar plugin incompatível.
Instalar versão específica
mpm install archivemaster -i prod --version 6.3.0
mpm install archivemaster -i prod --rc # último RC8. Confirmar dentro do Mautic
Duas formas:
mpm list -i prodOu via console do próprio Mautic:
mpm console -i prod -- mautic:plugins:reloadNo painel do Mautic: Configurações → Plugins — o plugin deve aparecer e estar publicado.
Se instalou mas não aparece, quase sempre é layout docroot.
9. Manter atualizado
Ver o que tem update disponível:
mpm check -i prod
# archivemaster: 6.3.0 → 6.3.1 available
# queryreport: up-to-dateAplicar update de um plugin:
mpm update archivemaster -i prodAplicar tudo de uma vez:
mpm update all -i prodUpdate usa o mesmo pipeline de 14 etapas, mais o backup da versão atual — se der ruim, rollback restaura a versão anterior completa (não fica em estado quebrado).
Automatizar via cron
# /etc/cron.d/mpm-check
0 3 * * * root /usr/local/bin/mpm check -i prod --json > /var/log/mpm-check.logNão recomendo update all automático em prod sem revisão — updates
podem ter breaking changes. Use check no cron, aplique manualmente.
10. Manter o mpm atualizado
mpm self-update # última versão stable
mpm self-update --rc # release candidate (teste)O binário é substituído atomicamente. Backup fica em
/opt/mpm/mpm.bak (você pode reverter se quiser).
Situações comuns
"426 fingerprint_required"
Seu mpm está desatualizado pra API atual:
mpm self-update"403 key_revoked" ou "403 key_used_elsewhere"
A API key foi usada em outro servidor. Cada key só pode estar em um
"fingerprint" (combinação máquina + container). Rotacione em
mng.mtc.codes → Conta → API Manager e use a nova.
Instalação falha no [11/14] Warming up cache
Quase sempre é:
- Versão do Mautic incompatível — plugin exige M6, container é M4/5
- PHP muito antigo — o plugin exige 8.1+, container roda 7.4/8.0
- Extensão PHP faltando (raro) — vejo em
mpm status <plugin>
O rollback já preservou seu Mautic. Corrija a base (upgrade Mautic ou PHP) e re-instale.
Update para versão errada
mpm install archivemaster -i prod --version 6.3.0 --force--force permite downgrade / reinstall da mesma versão.
Desinstalar
mpm uninstall archivemaster -i prodRemove o diretório do plugin e limpa o cache. O backup em
/opt/mpm/backups/ fica preservado por `max_backups`
uploads (default 3).
Próximos passos
- Casos de uso — cenários específicos (multi-instance, staging)
- Referência CLI — todos os comandos + flags
- Troubleshooting — problemas mais complicados
- API key e fingerprint — segurança e rotação