From 6fff59e3e2a498486fb6643503824cbe59e769bd Mon Sep 17 00:00:00 2001 From: happybell80 Date: Wed, 9 Jul 2025 15:07:39 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20README.md=20=ED=98=84=EC=9E=AC=20?= =?UTF-8?q?=EC=83=81=ED=99=A9=EC=97=90=20=EB=A7=9E=EA=B2=8C=20=EA=B9=94?= =?UTF-8?q?=EB=81=94=ED=95=98=EA=B2=8C=20=EC=9E=AC=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ubuntu 서버 배포 방식으로 업데이트 - GitHub Actions SCP 방식 설명 - 불필요한 설정 제거 - 실제 사용 중인 프록시 라우팅 명시 - SSL 설정 및 테스트 방법 추가 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- README.md | 85 +++++++++++++++++++++++++++---------------------------- 1 file changed, 42 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index b7cea4a..ab9b429 100644 --- a/README.md +++ b/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 ``` \ No newline at end of file