Add global production install and update commands

This commit is contained in:
Tiago
2026-09-29 12:37:37 -03:00
parent 11429790c3
commit be414c5c8f
5 changed files with 133 additions and 30 deletions
+52 -30
View File
@@ -20,28 +20,41 @@ Confirme:
dig +short condominio.seconectai.com.br
```
## 2. Primeira instalação com um comando
## 2. Instalar os comandos globais no servidor
No servidor, dentro da pasta do projeto:
Na primeira vez, você precisa ter este projeto no servidor ou baixar só os scripts. Dentro da pasta do projeto, rode:
```bash
./scripts/install-prod.sh "SENHA_MASTER_AQUI"
sudo ./scripts/install-commands.sh
```
O script gera automaticamente:
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 informada
Depois sobe tudo com Docker Compose:
```bash
docker compose -f docker-compose.prod.yml up -d --build
```
- `MASTER_PASSWORD_HASH` a partir da senha Master inicial
Acesse:
@@ -49,32 +62,35 @@ Acesse:
https://condominio.seconectai.com.br
```
## 3. Atualizar o sistema depois de novos commits
## 4. Atualizar o sistema depois de novos commits
No servidor, dentro da pasta do projeto:
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
```
Esse comando faz:
## 6. Logs úteis
```bash
git fetch
git pull --ff-only
docker compose -f docker-compose.prod.yml up -d --build --remove-orphans
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
```
## 4. Logs úteis
```bash
docker compose -f docker-compose.prod.yml ps
docker compose -f docker-compose.prod.yml logs -f app
docker compose -f docker-compose.prod.yml logs -f evolution-api
docker compose -f docker-compose.prod.yml logs -f caddy
```
## 5. Testes
## 7. Testes
```bash
curl -I https://condominio.seconectai.com.br
@@ -87,20 +103,26 @@ Resposta esperada:
{"status":"ok"}
```
## 6. Webhook AbacatePay
## 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`.
## 7. Observações
## 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 `./uploads` no servidor.
- Uploads ficam em `/opt/SeConectai_Condominios/uploads` no servidor.
- Faça backup dos volumes Docker e da pasta `uploads`.