# Documentação de Deploy - NFE API

## Servidor
- **Hostname**: server-mercosys-vps1
- **OS**: Debian 12
- **Usuário do serviço**: root
- **Diretório do projeto**: `/var/www/nfe_api`

## Estado do Deploy

### ✅ Concluído

#### 1. PHP e Extensões
- PHP 8.2 instalado
- Extensões instaladas: php8.2-fpm, php8.2-soap, php8.2-curl, php8.2-xml, php8.2-mbstring, php8.2-gd, php8.2-cli
- OpenSSL, LibXML e Zlib estão integrados no core do PHP

#### 2. Composer
- Composer instalado globalmente em `/usr/local/bin/composer`

#### 3. Dependências do Projeto
- Executado: `composer install --no-dev --optimize-autoloader`
- Projeto localizado em `/var/www/nfe_api`
- Proprietário: `root:root`

#### 4. Nginx
- Nginx configurado
- Arquivo de configuração: `/etc/nginx/sites-available/nfe_api`
- Site ativado em `/etc/nginx/sites-enabled/nfe_api`
- Diretório raiz: `/var/www/nfe_api/public`
- Porta: 80

#### 5. Systemd Service
- Arquivo de serviço: `/etc/systemd/system/nfe-api.service`
- Usuário: root
- Diretório de trabalho: `/var/www/nfe_api`
- Comando: `/usr/bin/php -S 0.0.0.0:8080 -t public`
- Status: enabled e ativo
- Reinício automático configurado


## Comandos Úteis

### Verificar status do serviço
```bash
systemctl status nfe-api
```

### Reiniciar o serviço
```bash
systemctl restart nfe-api
```

### Ver logs do serviço
```bash
journalctl -u nfe-api -f
```

### Atualizar o projeto
```bash
cd /var/www/nfe_api
git pull
composer install --no-dev --optimize-autoloader
systemctl restart nfe-api
```

### Verificar Nginx
```bash
nginx -t
systemctl status nginx
```

## Configuração Necessária

### Arquivo de Configuração da API
O projeto requer um arquivo de configuração com as credenciais do certificado digital:
- `certificado`: Certificado em base64
- `senha`: Senha do certificado
- `cnpj`: CNPJ do emitente
- `ambiente`: 1 (Produção) ou 2 (Homologação)
- `uf`: UF do emitente
- `schemes`: Esquema (PL_009_V4 ou PL_010_* para Reforma Tributária)
- `versao`: Versão (4.00)
- `CSC`: CSC do SEFAZ
- `CSCid`: ID do CSC

## Notas Importantes

1. O serviço PHP roda na porta 8080 internamente
2. Nginx atua como proxy reverso na porta 80
3. O serviço roda como usuário root
