Add README.md and include chaves.md in repository
This commit is contained in:
parent
1e6c58209a
commit
230a898af9
|
|
@ -1,5 +1,2 @@
|
|||
# Ignore local data directory
|
||||
pg_data/
|
||||
|
||||
# Ignore sensitive credentials
|
||||
chaves.md
|
||||
|
|
|
|||
|
|
@ -0,0 +1,150 @@
|
|||
# Banco de Dados Pralog
|
||||
|
||||
Este repositório contém a configuração Docker para o banco de dados PostgreSQL do sistema Pralog.
|
||||
|
||||
## 📋 Visão Geral
|
||||
|
||||
- **Banco**: PostgreSQL 16 Alpine
|
||||
- **Container**: `pralog-local-db`
|
||||
- **Rede Docker**: `pralog-net`
|
||||
- **Porta Externa**: `15432`
|
||||
- **Porta Interna**: `5432`
|
||||
|
||||
## 🔐 Credenciais
|
||||
|
||||
### Ambiente Local (Docker)
|
||||
| Campo | Valor |
|
||||
|-------|-------|
|
||||
| Host | `localhost` |
|
||||
| Porta | `15432` |
|
||||
| Usuário | `itguys` |
|
||||
| Senha | `PralogLocal2026!Secure` |
|
||||
| Database | `global` |
|
||||
|
||||
**Connection String:**
|
||||
```
|
||||
postgresql://itguys:PralogLocal2026!Secure@localhost:15432/global
|
||||
```
|
||||
|
||||
### Ambiente de Produção (AWS RDS)
|
||||
As credenciais de produção estão documentadas em [`chaves.md`](./chaves.md).
|
||||
|
||||
## 🚀 Como Usar
|
||||
|
||||
### Pré-requisitos
|
||||
- Docker Desktop instalado e rodando
|
||||
- PowerShell (Windows)
|
||||
|
||||
### Iniciando o Container
|
||||
|
||||
```powershell
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Parando o Container
|
||||
|
||||
```powershell
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
### Verificando Status
|
||||
|
||||
```powershell
|
||||
docker ps -f name=pralog-local-db
|
||||
```
|
||||
|
||||
## 🔄 Restaurando o Backup
|
||||
|
||||
O arquivo de backup está montado dentro do container em `/tmp/restore.sql`.
|
||||
|
||||
### Passo a Passo
|
||||
|
||||
1. **Acesse o container**:
|
||||
```powershell
|
||||
docker exec -it pralog-local-db sh
|
||||
```
|
||||
|
||||
2. **Execute o restore**:
|
||||
```bash
|
||||
psql -U itguys -d global -f /tmp/restore.sql
|
||||
```
|
||||
|
||||
3. **Verifique os dados**:
|
||||
```bash
|
||||
psql -U itguys -d global -c 'SELECT count(*) FROM "GlobalDriver"'
|
||||
```
|
||||
|
||||
## 📁 Estrutura do Projeto
|
||||
|
||||
```
|
||||
banco-pralog/
|
||||
├── docker-compose.yml # Configuração do container
|
||||
├── backup_global_*.sql # Backup do banco de dados
|
||||
├── chaves.md # Credenciais (produção e local)
|
||||
├── local_credentials.md # Credenciais do ambiente local
|
||||
├── init-scripts/
|
||||
│ └── 01-create-role.sql # Script de criação de roles
|
||||
├── pg_data/ # Volume de dados (gitignore)
|
||||
└── README.md # Este arquivo
|
||||
```
|
||||
|
||||
## 🐳 Configuração Docker
|
||||
|
||||
### docker-compose.yml
|
||||
|
||||
O arquivo `docker-compose.yml` define:
|
||||
|
||||
- **Imagem**: `postgres:16-alpine` (leve e compatível com o backup)
|
||||
- **Volumes**:
|
||||
- `./pg_data` → `/var/lib/postgresql/data` (persistência de dados)
|
||||
- `./backup_*.sql` → `/tmp/restore.sql` (arquivo de backup)
|
||||
- `./init-scripts/*.sql` → `/docker-entrypoint-initdb.d/` (scripts de inicialização)
|
||||
- **Rede**: `pralog-net` (bridge isolada)
|
||||
- **Porta**: `15432:5432`
|
||||
|
||||
### Persistência de Dados
|
||||
|
||||
Os dados do PostgreSQL são armazenados em `./pg_data/`. Este diretório:
|
||||
- ✅ Persiste entre restarts do container
|
||||
- ✅ Persiste após `docker-compose down`
|
||||
- ✅ Persiste após redeploy/pull
|
||||
- ❌ **Não** é enviado ao Git (está no `.gitignore`)
|
||||
|
||||
Para resetar o banco completamente:
|
||||
```powershell
|
||||
docker-compose down
|
||||
Remove-Item -Recurse -Force .\pg_data\*
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 📊 Tabelas Principais
|
||||
|
||||
| Tabela | Descrição |
|
||||
|--------|-----------|
|
||||
| `GlobalDriver` | Motoristas globais |
|
||||
| `GlobalDriverTenant` | Relação motorista-tenant |
|
||||
| `Tenant` | Tenants/empresas |
|
||||
| `TenantDomain` | Domínios dos tenants |
|
||||
| `global_driver_bank_account` | Contas bancárias dos motoristas |
|
||||
| `global_integration` | Integrações (Planner, IdWall) |
|
||||
| `request_log` | Log de requisições da API |
|
||||
|
||||
## 🛠️ Manutenção
|
||||
|
||||
### Fazer Backup
|
||||
|
||||
```powershell
|
||||
.\backup.ps1
|
||||
```
|
||||
|
||||
### Exportar para CSV
|
||||
|
||||
```powershell
|
||||
.\export_csv.ps1
|
||||
```
|
||||
|
||||
## ⚠️ Notas Importantes
|
||||
|
||||
1. **Porta 15432**: Usamos porta não-padrão para evitar conflitos com PostgreSQL local.
|
||||
2. **Rede isolada**: O container roda em rede `pralog-net` para compatibilidade com Portainer.
|
||||
3. **Restore manual**: O backup não é restaurado automaticamente ao iniciar o container.
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
chaves de banco de dados
|
||||
NODE_ENV=production
|
||||
|
||||
APP_PORT_BFF_ADMIN_API=3000
|
||||
APP_PORT_BFF_TENANT_API=3000
|
||||
|
||||
AWS_SDK_JS_SUPPRESS_MAINTENANCE_MODE_MESSAGE=1
|
||||
|
||||
GLOBAL_DATABASE_URL=postgresql://postgres:fzYSD5g5NLcRvjmd3nJv@pikachu.cnsiese46wxf.sa-east-1.rds.amazonaws.com:5432/global?schema=public
|
||||
TENANT_DATABASE_URL=postgresql://postgres:fzYSD5g5NLcRvjmd3nJv@pikachu.cnsiese46wxf.sa-east-1.rds.amazonaws.com:5432/tenant_example?schema=public
|
||||
BASE_TENANT_DATABASE_URL=postgresql://postgres:fzYSD5g5NLcRvjmd3nJv@pikachu.cnsiese46wxf.sa-east-1.rds.amazonaws.com:5432/
|
||||
|
||||
DEFAULT_PAGINATION_LIMIT=30
|
||||
|
||||
ENCRYPTION_ALGORITHM=aes-256-cbc
|
||||
# IMPORTANT=This key must be 32 characters (256 bit).
|
||||
ENCRYPTION_KEY=fl0HAlwhEdw1uYfOBU8bFhy6YzpUoqft
|
||||
|
||||
JWT_SECRET_TENANT_USER=2fea64fe5612945c7b0591dceca622e0e22d3d20eec621ed3480dd3ddce6cf1e96a6325e0b55ea704e578e4607432b1eed119e1d0712e6fc63ccee4fa0edcc1417ec0e7e21fd643363473e0db9c52c576012ce86c181b95398350713cb8c4147d78ae6383503b32de7de5ac113396aceed23de81f1d5e7286c5385888261b73f
|
||||
JWT_SECRET_TENANT_API_USER=g7YwY7hsTib2sABe6trRdwSndAgTS7OBmie0TpMU4ItyGsmlZup6BcLts06oS5GwjOypAcaSf9qsxju6Lptu++62eaEXs9oYrASDeOSD4YEqnT4/jUJ2K62ekIc8v+A9ssWhf/y0tYGD3nfkmzXTrPAwR1542NLfuFdduz3pl7bT/f9SyIlGYRs5w0hr+zeDj43mxaqLxDmRJUVYvZdGv4Lm2vdW5q3+n7IL/K1COFD7n8G170WCNGewOyxSb9cQ
|
||||
JWT_SECRET_GLOBAL_DRIVER=Pbhezk/AQQpR7bnSELuHN/n6o7UfquqK5A8+g2UptXl9k/z9NpjxMkFBS2yKdYCizI+KXCtYcnqW7kCCnFJ0XwMU2KxjyEmXDN06Bcm8zVu2HoXwtERUGsNsH6XCxALRXmDoPbw8qeJeS/fyytIDNpfQ5EUjrJ+o3ZwN6BnjufrQTBkeInNQ44JMMAQv4X6R5Ai8PJmuJTtEzKFkP2HBWkcF9+HAHFv9Wc6FhVDcvJs8F6+h0m613sv12S8WZkIW
|
||||
|
||||
MANAGER_SECRET_KEY=519fecec-33f4-4779-9642-d68f7d0697a6-deaed95d-bda5-4986-acde-ba0dc2f98750-2c674006-60b8-4a7b-b2b7-6a78a09b5063
|
||||
|
||||
# S3 Configuration
|
||||
S3_AWS_REGION=sa-east-1
|
||||
S3_AWS_BUCKET=prafrota-be
|
||||
|
||||
DEFAULT_TENANT_ID=5
|
||||
Loading…
Reference in New Issue