- MariaDB 환경별 자동 감지 (Windows/NAS/Linux) - Unix Socket 및 TCP 연결 지원 - 완전한 UTF8MB4 스키마 적용 - 자동 초기화 스크립트 개선 - NAS 배포 스크립트 MariaDB 지원 - 환경변수 기반 설정 시스템 - 상세한 배포 가이드 문서화 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
139 lines
2.7 KiB
Markdown
139 lines
2.7 KiB
Markdown
# Jaryo File Manager - MariaDB 배포 가이드
|
|
|
|
## 개요
|
|
Jaryo File Manager를 시놀로지 NAS의 MariaDB와 함께 배포하는 가이드입니다.
|
|
|
|
## 시스템 요구사항
|
|
|
|
### NAS 환경
|
|
- 시놀로지 DSM 7.0+
|
|
- Node.js 18+ (DSM 패키지 센터에서 설치)
|
|
- MariaDB 10+ (DSM 패키지 센터에서 설치)
|
|
- Git Server (DSM 패키지 센터에서 설치)
|
|
|
|
### 개발 환경
|
|
- Node.js 18+
|
|
- MariaDB/MySQL 5.7+
|
|
- Git
|
|
|
|
## NAS 배포 단계
|
|
|
|
### 1. 빠른 배포 (권장)
|
|
```bash
|
|
# 자동 배포 스크립트 실행
|
|
./deploy-to-nas.sh [NAS-IP] jaryo [PASSWORD]
|
|
|
|
# 예시:
|
|
./deploy-to-nas.sh 192.168.1.100 jaryo mypassword
|
|
```
|
|
|
|
### 2. 수동 배포
|
|
|
|
#### 2.1 MariaDB 설정
|
|
NAS SSH 접속 후:
|
|
```sql
|
|
mysql -u root -p
|
|
|
|
CREATE DATABASE IF NOT EXISTS jaryo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
CREATE USER 'jaryo_user'@'localhost' IDENTIFIED BY 'JaryoPass2024!@#';
|
|
GRANT ALL PRIVILEGES ON jaryo.* TO 'jaryo_user'@'localhost';
|
|
FLUSH PRIVILEGES;
|
|
EXIT;
|
|
```
|
|
|
|
#### 2.2 스키마 설정
|
|
```bash
|
|
mysql -u jaryo_user -p jaryo < database/mariadb-schema.sql
|
|
```
|
|
|
|
#### 2.3 서비스 배포
|
|
```bash
|
|
# 소스 코드 클론
|
|
cd /volume1/web
|
|
git clone [GITEA_URL] jaryo
|
|
cd jaryo
|
|
|
|
# 의존성 설치
|
|
npm install
|
|
|
|
# 데이터베이스 초기화
|
|
npm run init-mariadb
|
|
|
|
# 서비스 시작
|
|
./start-service.sh
|
|
```
|
|
|
|
## 환경별 설정
|
|
|
|
### Windows 개발 환경
|
|
`.env` 파일 생성:
|
|
```env
|
|
DB_HOST=localhost
|
|
DB_PORT=3306
|
|
DB_USER=root
|
|
DB_PASSWORD=your_password
|
|
DB_NAME=jaryo
|
|
HOST=0.0.0.0
|
|
PORT=3000
|
|
```
|
|
|
|
### NAS 운영 환경
|
|
환경 변수는 자동으로 설정됩니다:
|
|
- `NODE_ENV=production`
|
|
- `DEPLOY_ENV=nas`
|
|
- Unix Socket 연결: `/run/mysqld/mysqld10.sock`
|
|
|
|
## 관리 명령어
|
|
|
|
### 서비스 관리
|
|
```bash
|
|
# 시작
|
|
./start-service.sh
|
|
|
|
# 중지
|
|
kill $(cat jaryo-nas.pid)
|
|
|
|
# 로그 확인
|
|
tail -f logs/app.log
|
|
```
|
|
|
|
### 데이터베이스 관리
|
|
```bash
|
|
# 초기화
|
|
npm run init-mariadb
|
|
|
|
# 직접 연결
|
|
mysql -u jaryo_user -p -S /run/mysqld/mysqld10.sock jaryo
|
|
```
|
|
|
|
## 접속 정보
|
|
|
|
### 기본 관리자 계정
|
|
- **이메일**: admin@jaryo.com
|
|
- **비밀번호**: Hee150603!
|
|
|
|
### 서비스 URL
|
|
- **메인**: http://[NAS-IP]:3005
|
|
- **관리자**: http://[NAS-IP]:3005/admin
|
|
|
|
## 문제 해결
|
|
|
|
### 연결 오류
|
|
1. MariaDB 서비스 상태 확인
|
|
2. 데이터베이스 및 사용자 권한 확인
|
|
3. 소켓 파일 경로 확인
|
|
4. 방화벽 설정 확인
|
|
|
|
### 상세 가이드
|
|
더 자세한 설정 방법은 `mariadb-setup.md` 파일을 참조하세요.
|
|
|
|
## 기술 스택
|
|
- **Backend**: Node.js + Express
|
|
- **Database**: MariaDB
|
|
- **Frontend**: Vanilla JavaScript
|
|
- **Deployment**: Shell Scripts
|
|
|
|
## 지원
|
|
- 로그 파일: `/volume1/web/jaryo/logs/app.log`
|
|
- 설정 파일: `database/mariadb-helper.js`
|
|
- 스키마: `database/mariadb-schema.sql` |