160 lines
6.1 KiB
Markdown
160 lines
6.1 KiB
Markdown
# Redbull - Servidor Coolify DEV
|
|
|
|
Este repositório contém a documentação técnica e os guias de operação para o servidor Redbull, uma VPS dedicada ao ambiente de desenvolvimento utilizando a plataforma Coolify.
|
|
|
|
## Visão Geral
|
|
|
|
O servidor Redbull é uma infraestrutura de desenvolvimento que hospeda múltiplos projetos web, seguindo uma arquitetura baseada em contêineres. A plataforma Coolify serve como camada de gerenciamento de aplicações, similar a um Heroku/Vercel self-hosted, permitindo deploys automáticos através de webhooks Git. O Traefik atua como proxy reverso com auto-descoberta de serviços.
|
|
|
|
## Especificações do Servidor
|
|
|
|
| Recurso | Especificação |
|
|
|---------|---------------|
|
|
| **Hostname** | redbull |
|
|
| **IP Público** | 185.194.141.70 |
|
|
| **Domínio** | redbull.rede5.com.br |
|
|
| **Coolify Dashboard** | https://redbull.rede5.com.br |
|
|
| **API** | https://redbull.rede5.com.br/api/v1 |
|
|
| **Plataforma** | VPS Ubuntu/Debian |
|
|
| **Orquestrador** | Coolify v4 (PaaS self-hosted) |
|
|
| **Container Runtime** | Docker |
|
|
| **Proxy Reverso** | Traefik |
|
|
| **Bancos de Dados** | PostgreSQL 16 (gerenciado) |
|
|
|
|
## Projetos Hospedados
|
|
|
|
### GoHorse Jobs (DEV)
|
|
| Serviço | UUID | Porta | Domínio |
|
|
|---------|------|:-----:|---------|
|
|
| Backend | `iw4sow8s0kkg4cccsk08gsoo` | 8521 | coolify-dev.gohorsejobs.com |
|
|
| Frontend | `ao8g40scws0w4cgo8coc8o40` | 3000 | local.gohorsejobs.com |
|
|
| Backoffice | `hg48wkw4wggwsswcwc8sooo4` | 3001 | backoffice-dev.gohorsejobs.com |
|
|
| Seeder | `q4w48gos8cgssso00o8w8gck` | 8080 | seeder-dev.gohorsejobs.com |
|
|
| Database | `bgws48os8wgwk08o48wg8k80` | 5432 | Internal |
|
|
|
|
### Subdomínios Locais (Cloudflare)
|
|
|
|
指向 Coolify (185.194.141.70):
|
|
|
|
| Subdomínio | Tipo | UUID App |
|
|
|------------|------|----------|
|
|
| local.gohorsejobs.com | A → 185.194.141.70 | Frontend |
|
|
| api-local.gohorsejobs.com | A → 185.194.141.70 | Backend |
|
|
| b-local.gohorsejobs.com | A → 185.194.141.70 | Backoffice |
|
|
| s-local.gohorsejobs.com | A → 185.194.141.70 | Seeder |
|
|
|
|
> **Cloudflare Zone**: gohorsejobs.com (Zone ID: 5e7e9286849525abf7f30b451b7964ac)
|
|
|
|
### Rodizios Daqui (DEV)
|
|
| Serviço | UUID | Porta | Domínio |
|
|
|---------|------|:-----:|---------|
|
|
| Backend | `ecso4woo4woo0ks84888k8ck` | 8080 | api.rodiziosdaqui.rede5.com.br |
|
|
| Frontend | `l4g4cc884gc04kg8s480gs48` | 3000 | rodiziosdaqui.rede5.com.br |
|
|
| Backoffice | `s4kskw08400wcw8g40ossggo` | 8082 | backoffice.rodiziosdaqui.rede5.com.br |
|
|
| Seeder | `ko0kkw4kw8g80scksg8sk0wc` | 8081 | seeder.rodiziosdaqui.rede5.com.br |
|
|
|
|
> **DNS Zone**: rede5.com.br (Zone ID: 7eb6587a2c867bb9743719a8fabcd455)
|
|
|
|
> **Banco de Dados**: PostgreSQL externo (Absam Cloud) - db-60604.dc-us-1.absamcloud.com:11985
|
|
|
|
## Documentação
|
|
|
|
- [Inventário de Serviços](./services_inventory.md): Tabela completa de apps, bancos, portas e domínios
|
|
- [Guia de Deploy](./deployment_guide.md): Instruções passo a passo para deployment e manutenção
|
|
|
|
## Quick Start
|
|
|
|
### Deploy Manual via API
|
|
|
|
```bash
|
|
# Token de autenticação
|
|
TOKEN="2|tjaxz6z6osQUz6whMvNMw23kcBqgToQAvMjSLos347164da9"
|
|
URL="https://redbull.rede5.com.br/api/v1"
|
|
|
|
# Deploy de uma aplicação
|
|
curl -s -H "Authorization: Bearer $TOKEN" \
|
|
"$URL/deploy?uuid=<APP_UUID>"
|
|
|
|
# Atualizar domínio (requer http:// ou https://)
|
|
curl -s -X PATCH -H "Authorization: Bearer $TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
"$URL/applications/<UUID>" \
|
|
-d '{"domains":"http://local.gohorsejobs.com","instant_deploy":true}'
|
|
|
|
# Listar aplicações
|
|
curl -s -H "Authorization: Bearer $TOKEN" "$URL/applications"
|
|
|
|
# Ver domínios do servidor
|
|
curl -s -H "Authorization: Bearer $TOKEN" \
|
|
"$URL/servers/m844o4gkwkwcc0k48swgs8c8/domains"
|
|
```
|
|
|
|
### Cloudflare DNS
|
|
|
|
```bash
|
|
# Token em ~/.ssh/cloudflare-token
|
|
export CF_AUTH_EMAIL="yamamoto@rede5.com.br"
|
|
export CF_AUTH_KEY="5dcfd89a9d4ec330dede0d4074a518f26818e"
|
|
export CF_ZONE_ID="5e7e9286849525abf7f30b451b7964ac"
|
|
|
|
# Listar DNS records
|
|
curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \
|
|
"https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records"
|
|
|
|
# Criar DNS record
|
|
curl -s -X POST -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \
|
|
-H "Content-Type: application/json" \
|
|
"https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \
|
|
-d '{"type":"A","name":"novo-dominio.gohorsejobs.com","content":"185.194.141.70","proxied":false}'
|
|
|
|
# Limpar cache
|
|
curl -s -X DELETE -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \
|
|
-H "Content-Type: application/json" \
|
|
"https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
|
|
-d '{"purge_everything":true}'
|
|
```
|
|
|
|
### CI/CD Automático via Webhook do Coolify
|
|
|
|
O Coolify recebe webhooks do GitHub para deploy automático. Configure no repositório GitHub (Settings → Webhooks):
|
|
|
|
| App | Webhook URL | Secret |
|
|
|-----|-------------|--------|
|
|
| Backend | `https://redbull.rede5.com.br/api/v1/webhooks/deploy?uuid=iw4sow8s0kkg4cccsk08gsoo` | `oRTKAwXgHrIzIcXdVqa7BXPkzXVQAhwS` |
|
|
| Frontend | `https://redbull.rede5.com.br/api/v1/webhooks/deploy?uuid=ao8g40scws0w4cgo8coc8o40` | `H3CfQuM9Jnpv9Tl37WKupEMlaaIWFlU5` |
|
|
| Backoffice | `https://redbull.rede5.com.br/api/v1/webhooks/deploy?uuid=hg48wkw4wggwsswcwc8sooo4` | `wvREqj94RRX60113cYb2nMCZf0pmg662` |
|
|
| Seeder | `https://redbull.rede5.com.br/api/v1/webhooks/deploy?uuid=q4w48gos8cgssso00o8w8gck` | `sa08PAj2RwyjW5VNmqKX0Ac9s7zIMyH2` |
|
|
|
|
Configuração do webhook no GitHub:
|
|
- Payload URL: URL do webhook acima
|
|
- Content type: `application/json`
|
|
- Secret: webhook secret da app
|
|
- Events: `Push events` (branch `dev`)
|
|
|
|
## Acesso SSH
|
|
|
|
```bash
|
|
# Conexão SSH
|
|
ssh redbull
|
|
|
|
# Verificar containers
|
|
docker ps --format 'table {{.Names}}\t{{.Status}}'
|
|
|
|
# Logs do Coolify
|
|
docker logs coolify -f
|
|
```
|
|
|
|
## Boas Práticas
|
|
|
|
1. **Variáveis de Ambiente**: Configure todas as variáveis antes do deploy
|
|
2. **Bancos de Dados**: Utilize o PostgreSQL gerenciado ou bancos externos
|
|
3. **Logs**: Monitore os logs após cada deploy
|
|
4. **Webhooks**: Mantenha os secrets seguros
|
|
|
|
## Comparação com Outros Servidores
|
|
|
|
| Servidor | Uso | Plataforma |
|
|
|----------|-----|------------|
|
|
| **Redbull** | Desenvolvimento (DEV) | Coolify |
|
|
| **Vim** | Produção | Dokku |
|
|
| **Apolo** | Kubernetes | K3s |
|