Files
Condominio_SeConectai/DEPLOY.md
T

129 lines
2.9 KiB
Markdown

# Deploy em condominio.seconectai.com.br
Servidor alvo: `45.13.59.110`
Domínio: `condominio.seconectai.com.br`
## 1. DNS
No painel DNS do domínio, crie/ajuste:
```text
Tipo: A
Nome: condominio
Valor: 45.13.59.110
TTL: 300 ou automático
```
Confirme:
```bash
dig +short condominio.seconectai.com.br
```
## 2. Instalar os comandos globais no servidor
Na primeira vez, você precisa ter este projeto no servidor ou baixar só os scripts. Dentro da pasta do projeto, rode:
```bash
sudo ./scripts/install-commands.sh
```
Isso instala dois comandos no servidor:
```bash
seconectaicondominio.install
seconectaicondominio.update
```
## 3. Primeira instalação com um comando
Depois de instalar os comandos globais, rode:
```bash
seconectaicondominio.install 10031992
```
O valor `10031992` é a senha Master inicial. Depois da instalação, você entra no painel Master usando essa senha.
O comando baixa/atualiza o código do Gitea em `/opt/SeConectai_Condominios`, gera automaticamente o `.env` e sobe o Docker.
Ele gera automaticamente:
- `DB_PASSWORD`
- `JWT_SECRET`
- `EVOLUTION_GLOBAL_API_KEY`
- `ABACATEPAY_WEBHOOK_SECRET`
- `EVOLUTION_DATABASE_CONNECTION_URI` com senha URL-encoded
- `MASTER_PASSWORD_HASH` a partir da senha Master inicial
Acesse:
```text
https://condominio.seconectai.com.br
```
## 4. Atualizar o sistema depois de novos commits
No servidor, rode de qualquer pasta:
```bash
seconectaicondominio.update
```
Esse comando entra em `/opt/SeConectai_Condominios`, baixa as atualizações do Gitea e recria os containers Docker.
## 5. Alternativa sem comandos globais
Se preferir rodar pela pasta do projeto:
```bash
./scripts/install-prod.sh "SENHA_MASTER_INICIAL"
./scripts/update-prod.sh
```
## 6. Logs úteis
```bash
docker compose -f /opt/SeConectai_Condominios/docker-compose.prod.yml ps
docker compose -f /opt/SeConectai_Condominios/docker-compose.prod.yml logs -f app
docker compose -f /opt/SeConectai_Condominios/docker-compose.prod.yml logs -f evolution-api
docker compose -f /opt/SeConectai_Condominios/docker-compose.prod.yml logs -f caddy
```
## 7. Testes
```bash
curl -I https://condominio.seconectai.com.br
curl https://condominio.seconectai.com.br/health
```
Resposta esperada:
```json
{"status":"ok"}
```
## 8. Webhook AbacatePay
Depois da instalação, o script mostra o link completo. O formato é:
```text
https://condominio.seconectai.com.br/api/master/webhooks/abacpay?webhookSecret=SEU_SEGREDO
```
O endpoint correto no sistema é:
```text
https://condominio.seconectai.com.br/api/master/webhooks/abacatepay?webhookSecret=SEU_SEGREDO
```
Use o valor gerado em `ABACATEPAY_WEBHOOK_SECRET` no `.env`.
## 9. Observações
- O arquivo `.env` gerado contém segredos reais e não deve ir para Git.
- Postgres e Redis não ficam publicados na internet no compose de produção.
- Caddy emite HTTPS automaticamente.
- Uploads ficam em `/opt/SeConectai_Condominios/uploads` no servidor.
- Faça backup dos volumes Docker e da pasta `uploads`.