@restnfeel/agentc-starter-kit
Version:
한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템
258 lines (180 loc) • 4.85 kB
Markdown
# AgentC 다중 사이트 관리 시스템 배포 가이드
## 개요
이 문서는 AgentC 다중 사이트 관리 시스템의 배포 및 운영을 위한 종합 가이드입니다.
## 시스템 아키텍처
### 핵심 구성 요소
1. **다중 테넌트 아키텍처**
- 사이트별 데이터 격리
- 도메인 기반 라우팅
- 템플릿 시스템
2. **관리자 인터페이스**
- 사이트 생성 및 관리
- 템플릿 할당
- 도메인 설정
3. **API 레이어**
- RESTful API 엔드포인트
- 인증 및 권한 관리
- 데이터 검증
## 배포 전 체크리스트
### 환경 설정
- [ ] Node.js 18+ 설치 확인
- [ ] 데이터베이스 설정 (SQLite/PostgreSQL)
- [ ] 환경 변수 설정
- [ ] SSL 인증서 준비
### 필수 환경 변수
```bash
# 데이터베이스
DATABASE_URL="your_database_url"
# 인증
NEXTAUTH_SECRET="your_secret_key"
NEXTAUTH_URL="https://your-domain.com"
# 이메일 (선택사항)
EMAIL_SERVER_HOST="smtp.example.com"
EMAIL_SERVER_PORT=587
EMAIL_SERVER_USER="your_email"
EMAIL_SERVER_PASSWORD="your_password"
EMAIL_FROM="noreply@your-domain.com"
```
## 단계별 배포 프로세스
### 1단계: 코드 배포
```bash
# 저장소 클론
git clone <repository-url>
cd agentc-starter-kit
# 의존성 설치
npm install
# 환경 변수 설정
cp .env.example .env.local
# .env.local 파일 편집
# 데이터베이스 마이그레이션
npm run db:migrate
# 프로덕션 빌드
npm run build
```
### 2단계: 데이터베이스 초기화
```bash
# 초기 데이터 시드
npm run db:seed
# 관리자 계정 생성
npm run create-admin
```
### 3단계: 서버 시작
```bash
# 프로덕션 모드로 시작
npm start
# 또는 PM2 사용
pm2 start ecosystem.config.js
```
## 시스템 검증
### 기능 테스트
1. **관리자 로그인**
- `/admin/login` 접속
- 관리자 계정으로 로그인 확인
2. **사이트 생성 테스트**
- `/admin/sites/create` 접속
- 새 사이트 생성 프로세스 완료
- 생성된 사이트 접속 확인
3. **템플릿 적용 테스트**
- 비즈니스 템플릿 적용
- 포트폴리오 템플릿 적용
- 템플릿 전환 기능 확인
4. **도메인 설정 테스트**
- 서브도메인 설정
- 커스텀 도메인 연결
- SSL 인증서 적용
### 성능 테스트
```bash
# 로드 테스트 (선택사항)
npm run test:load
# 보안 스캔 (선택사항)
npm run test:security
```
## 운영 가이드
### 일상 관리 작업
1. **사이트 모니터링**
- 사이트 상태 확인
- 성능 메트릭 검토
- 오류 로그 모니터링
2. **백업 관리**
- 데이터베이스 정기 백업
- 파일 시스템 백업
- 백업 복원 테스트
3. **보안 관리**
- 정기 보안 업데이트
- 액세스 로그 검토
- 권한 관리
### 문제 해결
#### 일반적인 문제
1. **사이트 접속 불가**
```bash
# DNS 설정 확인
nslookup your-domain.com
# 서버 상태 확인
pm2 status
# 로그 확인
pm2 logs
```
2. **데이터베이스 연결 오류**
```bash
# 연결 테스트
npm run db:test
# 마이그레이션 상태 확인
npm run db:status
```
3. **템플릿 로딩 오류**
- 템플릿 파일 존재 확인
- 권한 설정 검토
- 캐시 클리어
## 확장 및 업그레이드
### 새 템플릿 추가
1. 템플릿 파일 생성
2. 데이터베이스에 템플릿 정보 추가
3. 관리자 인터페이스에서 확인
### 시스템 업그레이드
1. 백업 생성
2. 새 버전 배포
3. 데이터베이스 마이그레이션
4. 기능 테스트
## 지원 및 연락처
- **기술 지원**: tech-support@agentc.com
- **문서**: https://docs.agentc.com
- **이슈 트래킹**: https://github.com/agentc/issues
## 부록
### A. API 엔드포인트 목록
- `GET /api/sites` - 사이트 목록 조회
- `POST /api/sites` - 새 사이트 생성
- `GET /api/sites/[id]` - 특정 사이트 조회
- `PUT /api/sites/[id]` - 사이트 정보 수정
- `DELETE /api/sites/[id]` - 사이트 삭제
### B. 데이터베이스 스키마
```sql
-- 사이트 테이블
CREATE TABLE sites (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
slug TEXT UNIQUE NOT NULL,
description TEXT,
template TEXT NOT NULL,
status TEXT DEFAULT 'draft',
subdomain TEXT,
custom_domain TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
```
### C. 환경별 설정
#### 개발 환경
```bash
NODE_ENV=development
DATABASE_URL="file:./dev.db"
```
#### 스테이징 환경
```bash
NODE_ENV=staging
DATABASE_URL="postgresql://user:pass@staging-db:5432/agentc"
```
#### 프로덕션 환경
```bash
NODE_ENV=production
DATABASE_URL="postgresql://user:pass@prod-db:5432/agentc"
```