111 lines
2.2 KiB
Markdown
111 lines
2.2 KiB
Markdown
# 배포 가이드
|
|
|
|
> 현재 프로젝트는 코드 스캐폴딩 전 상태다. 아래 내용은 Nuxt 앱 생성 후 적용할 기본 배포 방향이다.
|
|
|
|
## 빌드 유형
|
|
|
|
| 유형 | 명령어 | 용도 |
|
|
|------|--------|------|
|
|
| 개발 | `npm run dev` | 로컬 테스트, 개발 서버 |
|
|
| 프로덕션 | `npm run build` | NAS 배포, 운영 서버 |
|
|
|
|
---
|
|
|
|
## 로컬 개발
|
|
|
|
### 필수 조건
|
|
|
|
- Node.js 20+ 권장
|
|
- npm 9+
|
|
- 개발 DB
|
|
|
|
### 실행 단계
|
|
|
|
```bash
|
|
# 프로젝트 클론
|
|
git clone https://git.sori.studio/zenn/sori.studio.git
|
|
|
|
# 디렉토리 이동
|
|
cd sori.studio
|
|
|
|
# 의존성 설치
|
|
npm install
|
|
|
|
# 개발 환경 변수 설정
|
|
cp .env.example .env.development
|
|
# .env.development 파일에 개발 DB 연결 정보 입력
|
|
|
|
# 개발 서버 실행
|
|
npm run dev
|
|
```
|
|
|
|
### 확인 주소
|
|
|
|
- 개발 서버: http://localhost:3000
|
|
- 관리자: http://localhost:3000/admin
|
|
|
|
---
|
|
|
|
## UGREEN NAS Docker 배포
|
|
|
|
> Dockerfile과 docker-compose 설정은 아직 작성 전이다.
|
|
|
|
### SSH 접속
|
|
|
|
```bash
|
|
ssh [NAS_IP]
|
|
```
|
|
|
|
### 프로젝트 설치
|
|
|
|
```bash
|
|
# 프로젝트 디렉토리로 이동
|
|
cd /volume1/docker/sori.studio
|
|
|
|
# 프로젝트 클론
|
|
git clone https://git.sori.studio/zenn/sori.studio.git
|
|
|
|
# 디렉토리 이동
|
|
cd sori.studio
|
|
|
|
# 운영 환경 변수 설정
|
|
cp .env.example .env.production
|
|
# .env.production 파일에 운영 DB 연결 정보 입력
|
|
|
|
# Docker 빌드 및 실행
|
|
docker-compose up -d
|
|
```
|
|
|
|
### 프로덕션 빌드 (NAS에서)
|
|
|
|
```bash
|
|
# 프로덕션 빌드
|
|
npm run build
|
|
|
|
# 또는 Docker로 빌드
|
|
docker build -t sori.studio:latest .
|
|
docker run -d -p 3000:3000 sori.studio:latest
|
|
```
|
|
|
|
### 포트
|
|
|
|
- HTTP: 3000
|
|
- HTTPS: 3001 (SSL 설정 시)
|
|
|
|
---
|
|
|
|
## 데이터베이스
|
|
|
|
- 로컬 개발: `.env.development`의 `DATABASE_URL`
|
|
- NAS 운영: `.env.production`의 `DATABASE_URL`
|
|
- 개발 DB와 운영 DB는 반드시 별도 인스턴스 또는 별도 데이터베이스로 분리
|
|
- 운영 DB는 로컬 개발 서버에서 직접 연결하지 않음
|
|
- 관리 도구: CloudBeaver 등으로 추후 연결 가능하게 설계
|
|
|
|
## 사용자 액션 필요 항목
|
|
|
|
- NAS SSH 접속 주소 확인.
|
|
- NAS 프로젝트 루트 경로 확정.
|
|
- 운영 DB 이름, 계정, 권한 확정.
|
|
- 도메인 `sori.studio`의 NAS 연결 방식 확정.
|