Migração Z-PRO entre servidores
Este guia detalha o processo recomendado para migrar sua instalação completa do Z-PRO de um servidor (VPS Antiga) para outro (VPS Nova). Este é um procedimento técnico que envolve acesso root e manipulação do banco de dados.
AVISO CRÍTICO: FAÇA UM SNAPSHOT DO SERVIDOR
Antes de iniciar qualquer procedimento de migração, crie um ponto de restauração (snapshot) da sua VPS antiga e da nova VPS. Esta é sua única garantia para reverter o sistema em caso de qualquer imprevisto.
Visão Geral
A migração consiste em mover os três componentes essenciais da sua instalação:
Banco de Dados: Todos os dados do PostgreSQL (mensagens, usuários, tickets, etc.).
Arquivos de Mídia: A pasta
publicdo backend (imagens, áudios, documentos enviados).Arquivo de Configuração: O arquivo
.envdo backend (chaves de API, senhas, etc.).
Pré-Requisitos
Nova VPS Pronta: Uma nova VPS provisionada, seguindo os requisitos de uso (Ubuntu 22.04 LTS).
Z-PRO Instalado (Mesma Versão): Você deve instalar o Z-PRO na nova VPS usando o autoinstalador. A versão instalada na nova VPS deve ser exatamente a mesma da sua VPS antiga.
Acesso Root/SSH: Acesso de superusuário (root) a ambas as máquinas.
Passo a Passo da Migração
Fase 1: Backup na VPS Antiga
Execute todos os comandos a seguir no terminal SSH da sua VPS antiga.
1. Parar os Serviços do Z-PRO (Como usuário deployzdg)
deployzdg)su - deployzdg
pm2 stop all
2. Backup do Banco de Dados (Como usuário root)
root)# Volte para o usuário root
exit
# Execute o dump do banco de dados
docker exec -t postgresql pg_dump -U zpro postgres > /root/backup.sql
# Compacte o arquivo para facilitar a transferência
zip -r /root/backup.zip /root/backup.sql3. Backup dos Arquivos de Mídia (Pasta Public) (Como usuário root)
root)# Acesse a pasta do backend
cd /home/deployzdg/zpro.io/backend
# Compacte a pasta 'public'
zip -r /root/public.zip public/4. Backup do Arquivo de Configuração (.env) (Como usuário root)
root)# Na mesma pasta, faça o backup do .env
# (Este arquivo contém suas chaves de API e segredos)
zip -r /root/env.zip .envFase 2: Transferência dos Backups
1. Mover os Backups para a Nova VPS Use o comando scp (ou seu método preferido, como SFTP) para mover os três arquivos .zip que você criou (backup.zip, public.zip, env.zip) da VPS antiga para o diretório /root/ da VPS nova.
Exemplo de comando (executado da VPS antiga):
# (Pode ser necessário configurar chaves SSH antes, se ainda não o fez)
scp /root/backup.zip root@IP_DA_NOVA_VPS:/root/
scp /root/public.zip root@IP_DA_NOVA_VPS:/root/
scp /root/env.zip root@IP_DA_NOVA_VPS:/root/Fase 3: Restauração na VPS Nova
Execute todos os comandos a seguir no terminal SSH da sua VPS nova.
1. Mudar os Apontamentos de DNS Neste momento, vá ao seu provedor de domínio e altere os registros de DNS de todos os seus subdomínios (app, api, etc.) para que apontem para o IP da VPS nova.
2. Parar os Serviços do Z-PRO (na Nova VPS) (Como usuário deployzdg)
su - deployzdg
pm2 stop all3. Restaurar o Banco de Dados (Como usuário root)
# Volte para o usuário root
exit
cd /root/
# Descompacte o backup do banco
unzip backup.zip
# Copie o arquivo SQL para dentro do container Docker
docker cp backup.sql postgresql:/backup.sql
# Acesse o container
docker exec -it postgresql bash
# Conecte-se ao psql
psql -U zpro
# Execute os comandos SQL para preparar o banco
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'postgres';
DROP DATABASE postgres;
CREATE DATABASE postgres WITH OWNER zpro ENCODING 'UTF8' TEMPLATE zpro;
# Saia do psql
\q
# Saia do container
exit
# Execute a restauração do banco
docker exec -it postgresql psql -U zpro -d postgres < backup.sql
# Remova o arquivo de backup (opcional, para limpeza)
rm -rf backup.sql4. Restaurar os Arquivos de Mídia (Pasta Public) (Como usuário root)
cd /root/
unzip public.zip
# Mova os arquivos para a pasta de produção
mv /root/public/* /home/deployzdg/zpro.io/backend/public/
# Ajuste as permissões da pasta (CRÍTICO)
chown -R deployzdg:deployzdg /home/deployzdg/zpro.io/backend/public/5. Restaurar o Arquivo de Configuração (.env) (Como usuário root)
cd /root/
unzip env.zip
# Sobrescreva o .env da nova instalação pelo seu .env antigo
mv /root/.env /home/deployzdg/zpro.io/backend/.env
# Ajuste a permissão
chown deployzdg:deployzdg /home/deployzdg/zpro.io/backend/.envFase 4: Finalização e Verificação
1. Iniciar os Serviços do Z-PRO (Como usuário deployzdg)
su - deployzdg
pm2 start all2. Testar o Acesso Aguarde a propagação do DNS (pode levar de alguns minutos a algumas horas) e tente acessar sua plataforma. Faça login e verifique se seus atendimentos e mídias estão visíveis.
Autorizar o IP no Asaas Se você usa a integração com o Asaas, lembre-se de acessar seu painel do Asaas, ir para "Mecanismos de Segurança" e adicionar o IP da sua nova VPS na lista de permissões. Caso contrário, os pagamentos e a exibição de tenants falharão.
Atualizado