# 배포 가이드 > 현재 프로젝트는 Nuxt 3 초기 스캐폴딩 상태다. Docker 설정은 초안이며 운영 DB 확정 후 NAS에서 검증한다. ## 빌드 유형 | 유형 | 명령어 | 용도 | |------|--------|------| | 개발 | `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 연결 정보 입력 # 로컬 DB 컨테이너를 호스트에서 접근할 때는 127.0.0.1:43119 사용 # 개발 서버 실행 (127.0.0.1:43117) npm run dev ``` ### 확인 주소 - 개발 서버: http://127.0.0.1:43117 - 관리자: http://127.0.0.1:43117/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 연결 정보와 APP_PORT=43118 입력 # Docker 내부 앱에서 PostgreSQL에 접근할 때는 sori-studio-db:5432 사용 # Docker 빌드 및 실행 docker compose --env-file .env.production up -d ``` ### 프로덕션 빌드 (NAS에서) ```bash # 프로덕션 빌드 npm run build # 또는 Docker로 빌드 docker build -t sori.studio:latest . docker run -d -p 3000:3000 sori.studio:latest ``` ### 포트 - 로컬 개발: 43117 - NAS Docker 외부: 43118 - 컨테이너 내부: 3000 - PostgreSQL 외부: 43119 - HTTPS: 3001 (SSL 설정 시) --- ## 데이터베이스 - 로컬 개발: `.env.development`의 `DATABASE_URL` - NAS 운영: `.env.production`의 `DATABASE_URL` - 로컬 개발 예시: `postgres://sori_studio:비밀번호@127.0.0.1:43119/sori_studio` - NAS Docker 예시: `postgres://sori_studio:비밀번호@sori-studio-db:5432/sori_studio` - 개발 DB와 운영 DB는 반드시 별도 인스턴스 또는 별도 데이터베이스로 분리 - 운영 DB는 로컬 개발 서버에서 직접 연결하지 않음 - 관리 도구: CloudBeaver 등으로 추후 연결 가능하게 설계 - NAS Docker 배포 시 PostgreSQL 초기 스키마는 `db/migrations/`의 SQL로 생성 ## 사용자 액션 필요 항목 - NAS SSH 접속 주소 확인. - NAS 프로젝트 루트 경로 확정. - 운영 DB 이름, 계정, 권한 확정. - 도메인 `sori.studio`의 NAS 연결 방식 확정.