feat: complete release preparation, 10+ ad mediation, CI/CD, and docker deployment
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped
This commit is contained in:
parent
5cd1de6859
commit
708e20f747
406 changed files with 42464 additions and 6199 deletions
100
scripts/deploy-nas.sh
Normal file
100
scripts/deploy-nas.sh
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
#!/bin/bash
|
||||
# ============================================================================
|
||||
# scripts/deploy-nas.sh
|
||||
# D3RO Voice — Automated NAS Docker Deployment & Packaging Script (Bash)
|
||||
# ============================================================================
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
|
||||
NAS_HOST="${1:-}"
|
||||
NAS_USER="${2:-yunchan}"
|
||||
NAS_PATH="${3:-/volume1/docker/d3ro}"
|
||||
PORT="${4:-5000}"
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
CYAN='\033[0;36m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo -e "${CYAN}========================================================${NC}"
|
||||
echo -e "${CYAN} D3RO Voice — NAS Docker Deployment & Packaging Tool ${NC}"
|
||||
echo -e "${CYAN}========================================================${NC}"
|
||||
|
||||
OUT_DIR="$ROOT_DIR/out/nas-package"
|
||||
mkdir -p "$OUT_DIR"
|
||||
|
||||
echo -e "\n${YELLOW}[1/4] Building D3RO Voice API & BackOffice Docker Image...${NC}"
|
||||
docker build -t d3ro-voice-api:latest -f "$ROOT_DIR/apps/api-server/Dockerfile" "$ROOT_DIR/apps/api-server"
|
||||
echo -e "${GREEN}Docker image built: d3ro-voice-api:latest${NC}"
|
||||
|
||||
TAR_PATH="$OUT_DIR/d3ro-voice-api.tar"
|
||||
echo -e "\n${YELLOW}[2/4] Exporting Docker Image to Archive ($TAR_PATH)...${NC}"
|
||||
docker save -o "$TAR_PATH" d3ro-voice-api:latest
|
||||
echo -e "${GREEN}Image archive exported: $TAR_PATH${NC}"
|
||||
|
||||
echo -e "\n${YELLOW}[3/4] Packaging NAS deployment files...${NC}"
|
||||
cp "$ROOT_DIR/docker-compose.nas.yml" "$OUT_DIR/docker-compose.yml"
|
||||
cp "$ROOT_DIR/scripts/nas-control.sh" "$OUT_DIR/nas-control.sh"
|
||||
chmod +x "$OUT_DIR/nas-control.sh"
|
||||
|
||||
cat <<EOF > "$OUT_DIR/.env"
|
||||
PORT=$PORT
|
||||
DATA_PATH=./data
|
||||
JWT_SECRET=D3ROVoice_Super_Secure_Secret_Key_2026_Key!
|
||||
TZ=Asia/Seoul
|
||||
EOF
|
||||
|
||||
cat <<EOF > "$OUT_DIR/README.txt"
|
||||
========================================================================
|
||||
D3RO Voice — Standalone NAS Deployment Package
|
||||
========================================================================
|
||||
|
||||
[Synology / QNAP / Linux NAS 배포 방법]
|
||||
|
||||
1. 이 폴더의 모든 파일 (d3ro-voice-api.tar, docker-compose.yml, .env, nas-control.sh)을
|
||||
NAS의 Docker 작업 폴더 (예: /volume1/docker/d3ro)에 업로드합니다.
|
||||
|
||||
2. NAS SSH 터미널에 접속하여 해당 폴더로 이동합니다:
|
||||
cd /volume1/docker/d3ro
|
||||
|
||||
3. Docker 이미지를 로드합니다:
|
||||
docker load < d3ro-voice-api.tar
|
||||
|
||||
4. 서비스를 시작합니다:
|
||||
./nas-control.sh start (또는 docker compose up -d)
|
||||
|
||||
5. 브라우저에서 접속 확인:
|
||||
- 포털 메인: http://<NAS_IP>:$PORT/
|
||||
- 관리자 백오피스: http://<NAS_IP>:$PORT/admin
|
||||
- API Swagger: http://<NAS_IP>:$PORT/swagger
|
||||
- 헬스체크: http://<NAS_IP>:$PORT/health
|
||||
EOF
|
||||
|
||||
echo -e "${GREEN}NAS Deployment Package ready at: $OUT_DIR${NC}"
|
||||
|
||||
if [ -n "$NAS_HOST" ]; then
|
||||
echo -e "\n${YELLOW}[4/4] Deploying to Remote NAS ($NAS_USER@$NAS_HOST:$NAS_PATH)...${NC}"
|
||||
ssh "$NAS_USER@$NAS_HOST" "mkdir -p $NAS_PATH/data"
|
||||
scp -O "$TAR_PATH" "$OUT_DIR/docker-compose.yml" "$OUT_DIR/.env" "$OUT_DIR/nas-control.sh" "$NAS_USER@$NAS_HOST:$NAS_PATH/"
|
||||
ssh "$NAS_USER@$NAS_HOST" "cd $NAS_PATH && chmod +x nas-control.sh && docker load < d3ro-voice-api.tar && docker compose down 2>/dev/null || true; docker compose up -d"
|
||||
|
||||
echo -e "\n${GREEN}========================================================${NC}"
|
||||
echo -e "${GREEN} NAS Deployment Completed Successfully!${NC}"
|
||||
echo -e "${CYAN} Access your D3RO Cloud Service at:${NC}"
|
||||
echo -e " - Portal: http://$NAS_HOST:$PORT/"
|
||||
echo -e " - Admin: http://$NAS_HOST:$PORT/admin"
|
||||
echo -e " - Swagger: http://$NAS_HOST:$PORT/swagger"
|
||||
echo -e " - Health: http://$NAS_HOST:$PORT/health"
|
||||
echo -e "${GREEN}========================================================${NC}"
|
||||
else
|
||||
echo -e "\n${GREEN}========================================================${NC}"
|
||||
echo -e "${GREEN} NAS Package Build Complete!${NC}"
|
||||
echo -e " Package location: $OUT_DIR"
|
||||
echo -e " To deploy automatically via SSH, run:"
|
||||
echo -e " ./scripts/deploy-nas.sh <NAS_IP> <NAS_USER> <NAS_PATH> <PORT>"
|
||||
echo -e "${GREEN}========================================================${NC}"
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue