# Deploy de Alya Ventures

- Repositório `FCJ-VB/alya-ventures`, branch `main`; Lovable
  `alya-ventures.lovable.app`.
- Checkout VM: `/var/www/html/alyaventures/alya-ventures`, dono `deploy`.
- Unidade: `alyaventures.service`; endereço local `127.0.0.1:3018`.
- Domínio: `alya.ventures`, alias `www.alya.ventures`.
- DNS foi virado para `54.89.68.19`. Certbot `alya.ventures` cobre o domínio e
  seu alias `www`, com validade até 2027-01-27 e renovação automática.
- Apache redireciona HTTP para `https://alya.ventures` e atende HTTPS via
  `ops/alya.ventures-le-ssl.conf`.

## Build e validação

```bash
npm ci --no-audit --no-fund
npm run build
bash scripts/verify-static-assets.sh
```

O build confirma o preset Nitro `node-server`, o entrypoint SSR e todos os
assets de `scripts/static-assets.manifest` no bundle `.output/public/`.

## Primeiro deploy na VM

Com `alya.ventures` e `www.alya.ventures` apontados para a VM, emita o
certificado antes de instalar os vhosts:

```bash
sudo -n certbot certonly --apache --preferred-challenges http --non-interactive --agree-tos \
  --cert-name alya.ventures -d alya.ventures -d www.alya.ventures
```

Preserve qualquer arquivo já existente no checkout. Clone/atualize a branch
`main` como usuário `deploy` em `/var/www/html/alyaventures/alya-ventures` e
execute:

```bash
cd /var/www/html/alyaventures/alya-ventures
npm ci --no-audit --no-fund
npm run build
sudo -n bash ops/install-vm-config.sh
```

O instalador exige o certificado Certbot já emitido, verifica que a porta
`3018` continua livre ou pertence à unidade, instala a unidade systemd e os
vhosts HTTP/HTTPS, valida o Apache, redirecionamentos, resposta HTTPS e arquivos
de imagem, fonte e vídeo.

## Atualizações

```bash
sudo -n -u deploy bash /var/www/html/alyaventures/alya-ventures/deploy.sh
```

O script de deploy recusa checkout sujo, atualiza `main` por fast-forward,
executa instalação limpa, build com verificação de assets e reinicia somente
`alyaventures.service`.

Depois de atualizar arquivos de configuração Apache, reaplique-os com:

```bash
sudo -n bash /var/www/html/alyaventures/alya-ventures/ops/install-vm-config.sh
```

Para verificar o certificado e sua renovação:

```bash
sudo -n certbot certificates --cert-name alya.ventures
sudo -n certbot renew --dry-run --cert-name alya.ventures
curl -fI https://alya.ventures/
curl -fI https://www.alya.ventures/
```
