# 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, 도메인, 보안 설정 추가가 필요합니다. ---