docs: README.md 현재 상황에 맞게 깔끔하게 재작성
- Ubuntu 서버 배포 방식으로 업데이트 - GitHub Actions SCP 방식 설명 - 불필요한 설정 제거 - 실제 사용 중인 프록시 라우팅 명시 - SSL 설정 및 테스트 방법 추가 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
4c2b20cfc6
commit
6fff59e3e2
85
README.md
85
README.md
@ -1,60 +1,39 @@
|
||||
# Nginx Deploy - Robeing Project
|
||||
|
||||
GitOps 방식으로 관리되는 Robeing 프로젝트의 배포 매니페스트 저장소입니다.
|
||||
Ubuntu 서버용 Nginx 리버스 프록시 배포 저장소입니다.
|
||||
|
||||
## 구조
|
||||
|
||||
```
|
||||
nginx-deploy/
|
||||
├── .github/workflows/deploy.yml # GitHub Actions CI/CD
|
||||
├── nginx/
|
||||
│ ├── nginx.conf # Nginx 설정
|
||||
│ └── Dockerfile # Nginx 컨테이너 빌드
|
||||
└── docker-compose.yml # 전체 서비스 정의
|
||||
├── .github/workflows/deploy.yml # GitHub Actions 배포 스크립트
|
||||
├── default.conf # Nginx 설정 파일
|
||||
├── docker-compose.yml # Docker Compose 정의
|
||||
└── README.md # 이 파일
|
||||
```
|
||||
|
||||
## 배포 플로우
|
||||
|
||||
1. **애플리케이션 저장소**에서 코드 변경 시
|
||||
2. **GitHub Actions**가 새 이미지 빌드 후 Docker Hub에 push
|
||||
3. **Webhook**으로 이 저장소의 `docker-compose.yml` 업데이트
|
||||
4. **수동 또는 자동**으로 서버에 배포
|
||||
1. **main 브랜치에 push**
|
||||
2. **GitHub Actions** 자동 실행
|
||||
3. **SCP로 파일 전송** (Ubuntu 서버 ~/robeing-nginx)
|
||||
4. **Docker Compose** 자동 재시작
|
||||
|
||||
## 설정
|
||||
## 서버 설정
|
||||
|
||||
### GitHub Secrets 설정
|
||||
```
|
||||
DOCKER_USERNAME: Docker Hub 사용자명
|
||||
DOCKER_PASSWORD: Docker Hub 패스워드 또는 토큰
|
||||
NAS_HOST: 124.55.18.179
|
||||
NAS_PORT: 51123
|
||||
NAS_USER: admin
|
||||
NAS_SSH_KEY_ADMIN: SSH 개인키
|
||||
```
|
||||
|
||||
### 환경 변수 설정
|
||||
```bash
|
||||
# .env 파일 생성
|
||||
DATABASE_URL=postgresql://user:password@postgres:5432/robeing
|
||||
REDIS_URL=redis://redis:6379/0
|
||||
POSTGRES_USER=robeing
|
||||
POSTGRES_PASSWORD=your-secure-password
|
||||
```
|
||||
|
||||
## 배포 방법
|
||||
|
||||
### 개발 환경
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### 프로덕션 배포
|
||||
```bash
|
||||
# 환경 변수 설정 후
|
||||
docker-compose -f docker-compose.yml up -d
|
||||
```
|
||||
|
||||
## 서비스 구성
|
||||
|
||||
- **nginx**: 리버스 프록시 (포트 80, 443)
|
||||
- **frontend/backend**: 통합 서버 (포트 18000)
|
||||
- **api_base**: API 서버 (포트 8001)
|
||||
### 서버 요구사항
|
||||
- Ubuntu 22.04 LTS
|
||||
- Docker & Docker Compose 설치
|
||||
- admin 사용자 sudo 권한 (NOPASSWD)
|
||||
- 포트 80, 443 오픈
|
||||
|
||||
## 프록시 라우팅
|
||||
|
||||
@ -62,10 +41,30 @@ docker-compose -f docker-compose.yml up -d
|
||||
- `https://ro-being.com/api/` → 192.168.219.45:18000 (frontend/backend)
|
||||
- `https://ro-being.com/rb8001/` → 192.168.219.45:8001 (api_base)
|
||||
|
||||
## Health Check
|
||||
## SSL 설정
|
||||
|
||||
모든 서비스는 health check가 설정되어 있으며, `/health` 엔드포인트로 상태 확인 가능합니다.
|
||||
Let's Encrypt를 통한 자동 SSL 인증서 발급:
|
||||
- HTTP(80) → HTTPS(443) 자동 리다이렉트
|
||||
- 도메인: ro-being.com
|
||||
- 자동 갱신 설정
|
||||
|
||||
## 로컬 테스트
|
||||
|
||||
```bash
|
||||
curl http://localhost/health
|
||||
# 서버에서 직접 실행
|
||||
cd ~/robeing-nginx
|
||||
docker compose up -d
|
||||
|
||||
# 로그 확인
|
||||
docker compose logs -f nginx
|
||||
```
|
||||
|
||||
## 배포 상태 확인
|
||||
|
||||
```bash
|
||||
# 서비스 상태 확인
|
||||
curl -I https://ro-being.com
|
||||
|
||||
# 컨테이너 상태 확인
|
||||
docker compose ps
|
||||
```
|
||||
Loading…
x
Reference in New Issue
Block a user