core/deploy-core.sh
root c06d785832
Some checks are pending
Deploy Core (Dashboard & Identity Gateway) / deploy-dev (push) Waiting to run
feat(deploy): implement standalone docker deployment pattern
- Added Dashboard Dockerfile
- Created deploy-core.sh script for container management without compose
- Following gohorsejobs infrastructure pattern

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-09 20:38:41 +01:00

60 lines
1.8 KiB
Bash
Executable file

#!/bin/bash
# Configurações
PROJECT_NAME="rede5-core"
NETWORK_NAME="core-network"
DB_CONTAINER="ghj-db-dev" # Usando o banco existente conforme solicitado
ZITADEL_IMAGE="ghcr.io/zitadel/zitadel:v2.42.2"
DASHBOARD_IMAGE="rede5-dashboard:latest"
MASTERKEY="MasterkeyNeedsToHave32Characters"
echo "🚀 Iniciando Deploy do Core ($PROJECT_NAME)"
# 1. Criar rede se não existir
docker network inspect $NETWORK_NAME >/dev/null 2>&1 || \
docker network create $NETWORK_NAME
# 2. Conectar o banco existente à rede (se ainda não estiver)
docker network connect $NETWORK_NAME $DB_CONTAINER 2>/dev/null || true
# 3. Setup do Zitadel (Passo inicial)
echo "⚙️ Executando Setup do Zitadel..."
docker run --rm \
--network $NETWORK_NAME \
-v /root/zitadel-config.yaml:/zitadel-config.yaml:ro \
$ZITADEL_IMAGE \
setup --masterkey "$MASTERKEY" --config /zitadel-config.yaml
# 4. Iniciar Zitadel
echo "🔐 Iniciando Zitadel..."
docker stop zitadel 2>/dev/null || true
docker rm zitadel 2>/dev/null || true
docker run -d \
--name zitadel \
--network $NETWORK_NAME \
-p 8080:8080 \
-v /root/zitadel-config.yaml:/zitadel-config.yaml:ro \
-e ZITADEL_MASTERKEY="$MASTERKEY" \
$ZITADEL_IMAGE \
start-from-setup --masterkey "$MASTERKEY" --config /zitadel-config.yaml
# 5. Build do Dashboard
echo "🏗️ Building Dashboard Image..."
cd dashboard
docker build -t $DASHBOARD_IMAGE .
cd ..
# 6. Iniciar Dashboard
echo "🖥️ Iniciando Dashboard..."
docker stop core-dashboard 2>/dev/null || true
docker rm core-dashboard 2>/dev/null || true
docker run -d \
--name core-dashboard \
--network $NETWORK_NAME \
-p 3005:3000 \
--env-file dashboard/.env.local \
$DASHBOARD_IMAGE
echo "✅ Deploy Concluído!"
echo "Auth: http://auth.rede5.com.br (Porta 8080)"
echo "Dashboard: http://dashboard.rede5.com.br (Porta 3005)"