happybell80 2bdf37ca7e feat: GitHub Actions 최적화 및 문서화 개선
- webfactory/ssh-agent 제거하고 직접 SSH 키 설정으로 단순화
- 배포 단계별 로그 출력 추가 (이모지 포함)
- 워크플로우 상단에 상세 문서화 주석 추가
- 성공/실패 조건 및 주요 작업 명시

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 19:37:00 +09:00

Nginx Deploy - Robeing Project

Ubuntu 서버용 Nginx 리버스 프록시 배포 저장소입니다.

구조

nginx-deploy/
├── .github/workflows/deploy.yml  # GitHub Actions 배포 스크립트
├── default.conf                  # Docker nginx 설정 (legacy)
├── server-nginx-default          # 서버 nginx 설정 파일
├── docker-compose.yml            # Docker Compose 정의 (cleanup용)
└── README.md                     # 이 파일

배포 플로우

  1. main 브랜치에 push
  2. GitHub Actions 자동 실행
  3. 파일 전송 (Ubuntu 서버 ~/robeing-nginx)
  4. nginx 설정 적용 (서버 nginx 자동 reload)
  5. Docker 컨테이너 정리 (기존 컨테이너 중지)

서버 설정

GitHub Secrets 설정

NAS_HOST: 124.55.18.179
NAS_PORT: 51123
NAS_USER: admin
NAS_SSH_KEY_ADMIN: SSH 개인키

서버 요구사항

  • Ubuntu 22.04 LTS
  • Nginx 설치 및 SSL 설정 완료
  • admin 사용자 특정 명령어 sudo 권한 (NOPASSWD)
  • 포트 80, 443 오픈

프록시 라우팅

  • https://ro-being.com/ → 192.168.219.45:5173 (메인 프론트엔드)
  • https://ro-being.com/api/ → 192.168.219.45:18000 (frontend/backend)
  • https://ro-being.com/rb8001/ → 192.168.219.45:8001 (api_base)

SSL 설정

서버 자체에 SSL 설정 완료:

  • Ubuntu 서버에서 certbot으로 SSL 인증서 관리
  • Docker 컨테이너는 8080 포트에서 HTTP만 처리
  • 서버 nginx가 HTTPS → HTTP(8080) 프록시

로컬 테스트

# 서버에서 직접 실행
cd ~/robeing-nginx
docker compose up -d

# 로그 확인
docker compose logs -f nginx

# 내부 서비스 확인
curl http://localhost:8080

배포 상태 확인

# 서비스 상태 확인
curl -I https://ro-being.com

# 컨테이너 상태 확인
docker compose ps
Description
No description provided
Readme 248 KiB
Languages
Nginx 100%