Files
oracle-server/README.md

135 lines
2.8 KiB
Markdown

# oracle-server
작성: AI / 수정: nkey
자동화 워크플로우 서버(n8n), PostgreSQL 데이터베이스, 그리고 웹 모니터링 서비스(WMS)를 함께 배포하는 서버 구성입니다.
---
## 📌 개요
이 저장소는 **도커 컴포즈 기반 서버 스택 구성**을 담고 있습니다:
- **n8n** — 자동화 워크플로우 엔진
- **PostgreSQL** — n8n 및 서비스 데이터 저장
- **WMS (Laravel 기반)** — 웹 모니터링 서비스
참고: `/wms/README.md`
- **Nginx** — 리버스 프록시 및 정적 서비스 제공
---
## 🚀 빠른 시작
### 1. 코드 클론
```bash
git clone https://nkeystudy.site/gitea/2025-capstone/oracle-server.git
cd oracle-server
```
---
### 2. 환경변수 파일 준비
```bash
# 기본 .env 생성 (예시)
cp .env.example .env
# n8n용 env 파일 생성
mkdir -p n8n
cp n8n/.env.example n8n/.env
# WMS용 env 파일 생성
mkdir -p wms
cp wms/.env.example wms/.env
```
> 각 `.env` 에서 DB 접속 정보, BASE_URL 등 값을 실제 환경에 맞게 설정합니다.
---
### 3. 서비스 실행
```bash
docker compose up -d
```
---
### 4. 상태 확인
```bash
docker compose ps
```
각 서비스(n8n, postgres, php-app, nginx)가 정상적으로 올라오는지 확인합니다.
---
## 📂 구성 요소
### 🧱 서비스 구성
| 서비스 | 이미지 / 경로 | 포트 | 설명 |
|---------|----------------|------|------|
| n8n | `n8nio/n8n:latest` | 5678 | 자동화 워크플로우 엔진 |
| PostgreSQL | `postgres:15` | 5432 | 데이터 저장소 |
| WMS (Laravel) | `nkey01/laravel-wms:1.0.0` | — | 웹 모니터링 서비스 |
| Nginx | `nginx:1.27-alpine` | 80 | 리버스 프록시 및 정적 파일 |
---
## 🔌 엔드포인트
- **http://localhost/** — WMS 웹 인터페이스
- **http://localhost/n8n/** — n8n 에디터/실행 UI
---
## 📌 환경 변수
`.env` 에서 다음 값들을 반드시 설정하세요.
| 키 | 설명 |
|------|------|
| `POSTGRES_DB` | PostgreSQL DB 이름 |
| `POSTGRES_USER` | DB 사용자 |
| `POSTGRES_PASSWORD` | DB 비밀번호 |
| `BASE_URL` | n8n Editor/Webhook 기준 URL |
---
## 🖼 n8n flow
- 첫 번째 workflow -> Alert Trigger + 해결책 전달
- 두 번째 workflow -> 승인/거절 + 해결책 적용/재생성
- 세 번째 workflow -> 해결책 검증
![n8n_flow](docs/assets/n8n_flow.png)
---
## 📦 폴더 구조
```
.
├── docker-compose.yml
├── .env.example
├── nginx/
│ └── conf.d/
│ └── custom.conf
├── n8n/
│ └── .env.example
├── wms/
│ └── .env.example
└── ...
```
---
## ⚠️ 참고
- 이 구성은 개발/테스트 목적 기준입니다.
- 운영 환경에서는 SSL, 도메인, 보안 설정 추가가 필요합니다.
---