- scp 대신 tar+ssh 파이프라인 사용 - .git 폴더 제외하여 권한 충돌 방지 - 기존 디렉토리 삭제 후 재생성으로 깨끗한 배포 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Nginx Deploy - Robeing Project
Ubuntu 서버용 Nginx 리버스 프록시 배포 저장소입니다.
구조
nginx-deploy/
├── .github/workflows/deploy.yml # GitHub Actions 배포 스크립트
├── default.conf # Nginx 설정 파일
├── docker-compose.yml # Docker Compose 정의
└── README.md # 이 파일
배포 플로우
- main 브랜치에 push
- GitHub Actions 자동 실행
- SCP로 파일 전송 (Ubuntu 서버 ~/robeing-nginx)
- Docker Compose 자동 재시작
서버 설정
GitHub Secrets 설정
NAS_HOST: 124.55.18.179
NAS_PORT: 51123
NAS_USER: admin
NAS_SSH_KEY_ADMIN: SSH 개인키
서버 요구사항
- Ubuntu 22.04 LTS
- Docker & Docker Compose 설치
- 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 설정
Let's Encrypt를 통한 자동 SSL 인증서 발급:
- HTTP(80) → HTTPS(443) 자동 리다이렉트
- 도메인: ro-being.com
- 자동 갱신 설정
로컬 테스트
# 서버에서 직접 실행
cd ~/robeing-nginx
docker compose up -d
# 로그 확인
docker compose logs -f nginx
배포 상태 확인
# 서비스 상태 확인
curl -I https://ro-being.com
# 컨테이너 상태 확인
docker compose ps
Description
Languages
Nginx
100%