배포 및 서버 관리
사전 요구사항
| 소프트웨어 | 최소 버전 |
|---|---|
| Docker | 24.0+ |
| Docker Compose | 2.20+ |
| Node.js | 20+ |
| pnpm | 9+ |
| Git | 2.30+ |
초기 설치
1단계: 소스 코드 받기
bash
git clone <repository-url> hereby-dhub
cd hereby-dhub2단계: 환경 변수 설정
bash
cp .env.example .env.env 파일을 편집하여 환경에 맞게 설정합니다:
bash
# 데이터베이스 (반드시 변경)
DB_PASSWORD=your-secure-password-here
# JWT (반드시 변경)
JWT_SECRET=your-jwt-secret-key
# API
API_PORT=3000
# 타임존
TZ=Asia/Seoul보안 주의
.env 파일의 DB_PASSWORD와 JWT_SECRET은 반드시 안전한 값으로 변경하세요. 기본값을 프로덕션에서 사용하지 마세요.
3단계: 전체 설치
bash
make setup이 명령은 다음을 순서대로 수행합니다:
pnpm install— 의존성 설치- Docker 컨테이너 시작 (PostgreSQL, Redis, pgAdmin)
- 데이터베이스 마이그레이션 실행
- 시드 데이터 입력
4단계: 서비스 시작
bash
make dev서비스 업데이트
코드 업데이트
bash
# 1. 최신 코드 받기
git pull origin main
# 2. 의존성 업데이트
pnpm install
# 3. 빌드
pnpm build
# 4. 마이그레이션 실행 (필요한 경우)
make db-migrate
# 5. 서비스 재시작
make devDocker 컨테이너 관리
bash
# 컨테이너 상태 확인
docker-compose ps
# 컨테이너 시작
make db-start
# 컨테이너 중지
make db-stop
# 컨테이너 재시작
make db-restart
# 컨테이너 로그 확인
make db-logs
# 특정 서비스 로그
docker-compose logs -f postgres
docker-compose logs -f redis문서 사이트 배포
Docker로 문서 사이트 배포
bash
# 문서 Docker 이미지 빌드 및 실행
make docs-docker이 명령은 다음을 수행합니다:
- VitePress로 문서 사이트 빌드
- nginx 기반 Docker 컨테이너로 서빙
http://localhost:4001에서 접속 가능
버전별 빌드
bash
# 멀티버전 빌드 (태그 기반)
bash scripts/docs-build.sh프로덕션 배포 체크리스트
- [ ]
.env파일의 시크릿 값 변경 확인 - [ ]
NODE_ENV=production설정 - [ ] SSL/TLS 인증서 설정
- [ ] 방화벽 규칙 설정 (필요한 포트만 개방)
- [ ] 데이터베이스 백업 스케줄 설정
- [ ] 로그 로테이션 설정
- [ ] 모니터링 도구 연결