Skip to content

Conversation

@Tolerblanc
Copy link
Member

📋 Summary

octodocs.site 도메인으로 최소한의 커맨드로 프로덕션 배포 가능하도록 자동화 시스템을 구축했습니다.

🎯 주요 변경사항

✨ 새로운 기능

  • 자체 완결형 배포: PostgreSQL + Redis 컨테이너 포함, 외부 DB 의존성 제거
  • SSL 자동화: Let's Encrypt 인증서 자동 발급 및 갱신
  • 간편한 배포: 2개 명령어로 완전한 프로덕션 배포 가능

🔧 개선사항

  • Dockerfile 구조 일관성 개선 (Backend/WebSocket)
  • Healthcheck 추가로 서비스 간 의존성 관리 개선
  • Nginx 의존성을 Backend/WebSocket의 healthy 상태로 변경

📦 추가된 파일

  • compose.deploy.yml - 프로덕션 배포용 Docker Compose 설정
  • scripts/deploy-init.sh - SSL 인증서 자동 발급 스크립트
  • services/nginx/conf.d/default.deploy.conf - 프로덕션 nginx 설정

🚀 배포 방법

사전 준비

  1. Ubuntu 서버 준비 (Docker & Docker Compose 설치)
  2. DNS 설정: octodocs.site A 레코드 → 서버 IP
  3. 방화벽: 80, 443 포트 오픈

배포 단계

# 1. SSL 인증서 발급
yarn deploy:init

# 2. 프로덕션 배포
yarn deploy

# 3. 로그 확인
yarn deploy:logs

🔍 테스트 방법

  • SSL 인증서 정상 발급 확인
  • https://octodocs.site 접속 확인
  • Backend API 정상 작동 확인
  • WebSocket 연결 확인
  • PostgreSQL/Redis 정상 작동 확인

📊 변경 파일

  • compose.local.yml - Healthcheck 추가
  • package.json - 배포 스크립트 추가
  • services/backend/Dockerfile.local - CMD 수정
  • services/websocket/Dockerfile.local - 구조 개선
  • compose.deploy.yml - 신규 추가
  • scripts/deploy-init.sh - 신규 추가
  • services/nginx/conf.d/default.deploy.conf - 신규 추가

🎨 Architecture

Internet (HTTPS)
       ↓
   Nginx (443)
   + Let's Encrypt SSL
       ↓
   ┌────────┬────────┐
   ↓        ↓        ↓
Backend  WebSocket  Frontend
(3000)    (4242)    (5173)
   ↓        ↓
PostgreSQL + Redis
(자체 완결형)

💡 참고사항

  • compose.prod.yml은 기존 프로덕션 환경 보존을 위해 수정하지 않음

octodocs.site 도메인으로 최소한의 커맨드로 배포 가능하도록 구성

주요 변경사항:
- compose.deploy.yml 추가: 자체 완결형 프로덕션 배포 설정
- SSL 자동 발급: Let's Encrypt 인증서 자동 발급 스크립트
- 프로덕션 nginx 설정: octodocs.site 도메인 전용 설정
- Dockerfile 개선: Backend/WebSocket 실행 구조 일관성 개선
- Healthcheck 추가: 서비스 간 의존성 관리 개선

배포 명령어:
- yarn deploy:init  # SSL 인증서 발급
- yarn deploy       # 프로덕션 배포
- yarn deploy:logs  # 로그 확인

기술 스택:
- Docker Compose (자체 완결형)
- PostgreSQL + Redis (컨테이너)
- Let's Encrypt (SSL 자동 발급/갱신)
- Nginx (리버스 프록시)
Copy link
Collaborator

@djk01281 djk01281 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

와아ㅏㅏ 🎉🎉🎉

image

감사합니다아ㅏ!! 🎉🎈

@github-actions github-actions bot merged commit 56cf0f5 into develop Nov 15, 2025
15 checks passed
@github-actions github-actions bot deleted the feature/deploy-automation branch November 15, 2025 07:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants