- docker-compose.yml에서 deprecated version 필드 제거 - README.md 배포 플로우 설명 개선 - GitHub Actions 경고 메시지 해결 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
74 lines
1.7 KiB
Markdown
74 lines
1.7 KiB
Markdown
# Nginx Deploy - Robeing Project
|
|
|
|
Ubuntu 서버용 Nginx 리버스 프록시 배포 저장소입니다.
|
|
|
|
## 구조
|
|
|
|
```
|
|
nginx-deploy/
|
|
├── .github/workflows/deploy.yml # GitHub Actions 배포 스크립트
|
|
├── default.conf # Nginx 설정 파일
|
|
├── docker-compose.yml # Docker Compose 정의
|
|
└── 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) 프록시
|
|
|
|
## 로컬 테스트
|
|
|
|
```bash
|
|
# 서버에서 직접 실행
|
|
cd ~/robeing-nginx
|
|
docker compose up -d
|
|
|
|
# 로그 확인
|
|
docker compose logs -f nginx
|
|
|
|
# 내부 서비스 확인
|
|
curl http://localhost:8080
|
|
```
|
|
|
|
## 배포 상태 확인
|
|
|
|
```bash
|
|
# 서비스 상태 확인
|
|
curl -I https://ro-being.com
|
|
|
|
# 컨테이너 상태 확인
|
|
docker compose ps
|
|
``` |